Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Projekt Einzelunternehmer

Begonnen von hanna, März 14, 2012, 12:16:25

⏪ vorheriges - nächstes ⏩

hanna

Hallo,

ich hab mir das mit dem Rabatt mal zusammengebastelt. Rabatt gilt für die komplette Bestellung ohne Versand. Habe in tblBestellungen ein Feld Rabatt eingefügt und ein neuen Bericht (RechnungRabatt) erstellt. Jetzt habe ich aber im Hauptformular einen weiteren Button für die Rechnung mit Rabatt. Kann man das irgendwie im ersten Button mitunterbringen. Mit einer Abfrage oder so? Wenn Rabatt=0 dann öffne Bericht Rechnung. Wenn Rabatt ungleich 0 dann öffne Rechnung Rabatt.

geht das?

[Anhang gelöscht durch Administrator]

hanna

Hallo,

hab gerade germerkt, dass beim Klicken des neuen Buttons die Daten nicht übergeben werden. Wenn ich zB Auftragsnummer 251 geöffnet habe, gibt er immer noch Auftragsnummer 200 aus. Was mach ich falsch?

MzKlMu

#47
Hallo,
das geht viel einfacher. Du brauchst nur einen Bericht. Das Feld wird in Abhängigkeit des Rabattes ein bzw. ausgeblendet.
Du musst nur darauf achten, wenn es keinen Rabatt gibt in dem Feld Rabatt 0% drin steht Standardwert = 0), damit der Rabattbetrag auch 0 wird, dann stimmt nämlich auch die Addition.


DB (Version14) anbei. Bei 99 sind wir hoffentlich fertig. ;D

Nachtrag:
Habe gerade Deinen neuen Beitrag gelesen. Du musst natürlich auch die Bestellnr zum Drucken übergeben. Siehe den Button Rechnung. Aber das hat sich jetzt ohnehin erledigt.

[Anhang gelöscht durch Administrator]
Gruß Klaus

hanna

#48
Hallo,

sauber, das funktioniert! Kannst du mir nochmal helfen ein weiteres Ufo im Hafo für die Versanddetails anzulegen?
Zitat
Du musst natürlich auch die Bestellnr zum Drucken übergeben.

Habs gefunden. Das hab ich mir gedacht, bei mir haperts immer bei der Umsetzung  >:(


MzKlMu

Hallo,
ZitatKannst du mir nochmal helfen ein weiteres Ufo im Hafo für die Versanddetails anzulegen?
Ja, mach ich, aber erst morgen Abend.
Erkläre bitte was Du in dem Ufo genau darstellen willst und wie.
Gruß Klaus

hanna

Hallo,

im Ufo würde ich gerne den Versand abhandeln. Hier sollte die Versandart gewählt werden können, Versandanbieter und Versandkosten sollten angezeigt werden. Zusätzlich sollte man in diesem Ufo auch die Zahlungsart wählen können.

Nachdem man die Versandart gewählt hat, sollte man auf zwei Buttons klicken können. Einen der zur Webseite des Versandprodukts linkt, und einen der eine csv-Datei ausgibt. Mit dem Link zur Webseite sollte kein Problem sein denke ich. Mit der csv-Datei hätte ich gedacht, dass die Versanddaten an eine Tabelle geschickt werden, die dann mit Hilfe des folgenden Befehls exportiert wird:
Zitat
    DoCmd.TransferText acExportDelim, "KlasExportspecificatie", "Resultaten", "C:\CsvExport.csv"
     
    "KlasExportspecificatie"      is the exportspecification I created with the export wizard, containing the settings for CSV files
    "Resultaten"                  is the table from which the data is exporting
 
The trick is to make a exportspecification in the Export Wizard.
Right-click the exported table. Choose EXPORT, TXT-file.
All checkboxes not checked.
Use on the next page the ADVANCED-button to modify and save the exportspecification.


Vielleicht probieren wir es erstmal mit der csv-Datei der Post, die noch etwas einfacher vom Aufbau ist.
Die csv-Datei der Deutschen Post ist wie folgt aufgebaut:


 
   
   
   
   
   
NAMEZUSATZSTRASSENUMMERPLZSTADTLANDADRESS_TYP
Abs. NameAbs. ZusatzAbs. Str.Abs.111111Abs. StadtDEHOUSE
Empf. NameEmpf. ZusatzEmpf. Str.122222Empf. StadtDEHOUSE
Empf1. NameEmpf1. ZusatzEmpf1. Str.222222Empf1. StadtDEHOUSE
Empf1. NameEmpf1. ZusatzEmpf1. Str.322222Empf1. StadtDEHOUSE

Die csv-Datei ist eigentlich nur eine Textdatei, bei der die Spalten durch ein Simikolon getrennt sind. Wenn man die Datei mit dem Editor öffnet sehen die ersten drei Zeilen wie folgt aus:

NAME;ZUSATZ;STRASSE;NUMMER;PLZ;STADT;LAND;ADRESS_TYP
Abs. Name;Abs. Zusatz;Abs. Str.;Abs.1;11111;Abs. Stadt;DE;HOUSE
Empf. Name;Empf. Zusatz;Empf. Str.;1;22222;Empf. Stadt;DE;HOUSE

Das Format kann man doch mit den neu angelegenten Export-Spezifikationen einstellen oder? Ist das so möglich, dass die Daten erst an eine Tabelle gesendet werden, die dann als csv ausgegeben wird?

Die csv-Datei der Post ist unabhängig vom Versandprodukt, d.h. egal für welches Produkt (Brief, Maxibrief, Großbrief...) kann man die gleiche csv verwenden. Die Links zu den Versandprodukten sind halt andere:

Maxibrief+Einschreiben: http://www.portokalkulator.de/portokalkulator/exit/https_/internetmarke.deutschepost.de/internetmarke/start.do?letter.productId=1032&letter.amount=1&guid=108BF04B-C0C7-9DD2-F7BD-2CC269EBAC7E

Standartbrief: http://www.portokalkulator.de/portokalkulator/exit/https_/internetmarke.deutschepost.de/internetmarke/start.do?letter.productId=1&letter.amount=1&guid=3BF9B4A9-E7DF-FF96-E946-2AE43537BCB9

Großbrief: http://www.portokalkulator.de/portokalkulator/exit/https_/internetmarke.deutschepost.de/internetmarke/start.do?letter.productId=21&letter.amount=1&guid=3BF9B4A9-E7DF-FF96-E946-2AE43537BCB9


Anbei die Version 15 der DB, ich habe eine weitere Tabelle für die Anrede eingebaut. Anstatt Vor- und Nachname wird jetzt die Anrede und Nachname bei den Berichten verwendet.



[Anhang gelöscht durch Administrator]

MzKlMu

Hallo,
das Ufo baue ich Dir mal noch ein, eventuell auch den Export in eine CSV.
Der Export erfolgt aber mit einer Abfrage und nicht mit einer Tabelle. Auch mit einer Exportspezifikation.
Gruß Klaus

hanna

#52
Hallo,

das mit der E-Mail Verknüpfung habe ich gelöst. Habe eine Vorlage mit Outlook erstellt (oft-Datei). Diese wird mit folgendem Befehl aufgerufen:


Dim strPathName As String
   Dim objMailItem As Outlook.MailItem
   Dim objMailOLApp As Outlook.Application
 
   Set objMailOLApp = New Outlook.Application
   Set objMailItem = objMailOLApp.CreateItemFromTemplate("C:\test.oft")
   With objMailItem
       .To = "" & Me!EmailAdresse                   'Empfänger der Mail festlegen
       .Subject = "Versandbestätigung"                                 'Mailbetreff
       .HTMLBody = "Guten Tag " & Me!AnredeText & " " & Me!KontaktNachname & "," & .HTMLBody
                                                    'Anrede + Ansprechpartner
       .Display           'Die E-Mail anzeigen (Anwender kann sie bearbeiten)
   End With


Funktioniert sehr gut, bis auf eine Warnmeldung von Outlook: "Ein Programm versucht, auf die in Outlook gespeicherten E-Mail-Adressen zuzugreifen. Möchten Sie dies zulassen?" Kann man das irgendwie abstellen.
Die Outlook-Vorlage ist mit angehängt.

Habe neben dem Ufo Status mal einen Button eingefügt.

[Anhang gelöscht durch Administrator]

MzKlMu

Hallo,
mit der Erfassung der Zahlung gehe ich noch nicht einig mit Dir. Wenn Du keine Teilzahlung zulässt, macht die tblZahlungen keinen Sinn. Diese solltest Du löschen und die Zahlungsart direkt in der Bestellung erfassen. Der Zahlbetrag ist ja der Rechnungsbetrag und kann somit als extra Feld entfallen. Und wenn die tblZahlungen nicht mehr vorhanden ist, brauchst Du auch kein Unterformular. Man kann die Felder die mit der Zahlung zusammenhängen auf ein extra Register legen, aber nicht als Unterformular.

Die Frage wäre also zunächst einmal ist der Zahlbetrag immer der Rechnungsbetrag, es sind also keine Teilzahlungen zugelassen, richtig ?
Gruß Klaus

hanna

Hallo,

Der Zahlbetrag ist immer der Rechnungsbetrag. Ich habe deinen Vorschlag umgesetzt und die überflüssige Tabelle gelöscht.

Wenn man jetzt aufs Ufo Status klickt, kann man verschiedene Status-E-Mails per Button versenden. Die Fehlermeldung habe ich beseitigt indem ich den E-Mail Text komplett in die Funktion mit eingebaut habe.

Zitat
Private Sub Befehl56_Click()

Dim strPathName As String
    Dim objMailItem As Outlook.MailItem
    Dim objMailOLApp As Outlook.Application
   
    Set objMailOLApp = New Outlook.Application
    Set objMailItem = objMailOLApp.CreateItemFromTemplate("C:\test.oft")
    With objMailItem
        .To = "" & Me!EmailAdresse                   'Empfänger der Mail festlegen
        .Subject = "Eingangsbestätigung"             'Mailbetreff
        .HTMLBody = "Guten Tag " & Me!AnredeText & " " & Me!KontaktNachname & "," & "<p>vielen Dank für Ihren Auftrag. Ihre Filme haben wir erhalten.</p>" & "<p>Wir werden Ihren Auftrag schnellstmöglich abarbeiten.</p>" & "<p>&nbsp;</p>" & "<p>Mit freundlichen Grüßen</p>" & "<p>Hanna Janssen</p>" & "<p>Schmalfilm-Transfer.de</p>"
       
       
                                                     'Anrede + Ansprechpartner
        .Display           'Die E-Mail anzeigen (Anwender kann sie bearbeiten)
    End With
End Sub

In dem Fall kommt keine Wahnmeldung mehr von Outlook.  ;)

Zusätzlich habe ich das Feld SendungsNr in die Tabelle Bestellungen eingefügt. Nach Eingabe wird es später mit in die Versandbestätigungs-E-Mail übergeben. Das Problem ist, dass die Links von DHL und der Deutschen Post andere sind, und ich keine andere Lösung wusste als 2 Buttons zu erstellen. Kann man da noch was vereinfachen?

Beim versenden gibt es wie in vorherigen Posts gesagt 5 Varianten. 3 von der Deutschen Post, wo der Link direkt zum Versandprodukt führt, wo auch eine csv-Adressdatei hinzugefügt werden könnte.
Ein weiterer Link führt zur DHL Hauptseite, wo man über das Online-Kaufen Feld zur Auswahl des Produkts kommt. Hier wählt man das Produkt aus und gibt die Adressdaten manuell ein oder man macht die Produktauswahl und Adresseingebung über eine csv-Datei.

Mit der csv Sache bin ich noch nicht weiter gekommen. Wie wäre dein Ansatz?



[Anhang gelöscht durch Administrator]

MzKlMu

Hallo,
ZitatDas Problem ist, dass die Links von DHL und der Deutschen Post andere sind, und ich keine andere Lösung wusste als 2 Buttons zu erstellen. Kann man da noch was vereinfachen?
die entsprechenden Links solltest Du in einem extra Text feld speichern. Dann brauchst Du auch nur einen Button.
Die entsprechende Internetseite wird dann mit dem Befehl ruftst Du dann mit dem Befehl:
FollowHyperlink Textfeldname
auf, mit einem Button. Du kannst auch Shell in Kombination mit dem Textfeld für den Link verwenden, in dem Du im Befehl das Textfeld ansprichst.
Zitatman macht die Produktauswahl und Adresseingebung über eine csv-Datei.
Mit der csv Sache bin ich noch nicht weiter gekommen. Wie wäre dein Ansatz?
Ich habe da keine Erfahrung, ich müsste mir das auch erst erarbeiten.
Gruß Klaus

hanna

Hallo,

ich habe in tblVersandart ein neues Feld VersandartLink hinzugefügt, und den Link zur dementsprechenden Webseite für das jeweilige Produkt hinterlegt.

Ich hab jetzt noch nicht genau verstanden, wie ich einen Button definiere, der beim Klicken dem Link folgt, dessen Versandart im Formular ausgewählt ist. Ich möchte einen Button; wenn ich im Formular "PostPaket 2kg" ausgewählt habe möchte ich, dass der Link, der bei dieser Versandart hinterlegt ist, beim klicken geöffnet wird.

[Anhang gelöscht durch Administrator]

Beaker s.a.

Hallo Hanna,
Zitatdessen Versandart im Formular ausgewählt ist.
Wie wird die denn ausgewählt?
Per Kombi, Listfeld, Optionsgruppe?
Bei Kombi-/Listfeld:
FollowHyperlink Me!DeinFeld.Column(NrDerSpalteMitLink)
(Column zählt ab 0)
Bei einer Optionsgruppe (würd' ich aber nicht empfehlen) müsstest Du mit DLookup den Text des Links ermitteln.

ZitatMit der csv Sache bin ich noch nicht weiter gekommen. Wie wäre dein Ansatz?
Woran hakt es denn da?
Du brauchst den Aufbau der Datei, den die Anbieter eigentlich zur Vefügung stellen sollten.
Befüllen kannst Du die in etwa so
Public Type tpExport
    FELD1 As String * 20
    FELD2 As Integer
    .
    .
End Type

Public Sub ExportCSV()
    Dim strExport  As String           'Ergebnisstring, der exportiert wird
    Dim DSExport As tpExport
    Dim ExpFileNr As Long
    Dim ExpFileName As String

    DSExport.FELD1 = bla
    DSExport.FELD2 = blub
    .
    .
    strExport = _
          Trim(DSExport.FELD1) & "|" _
        & Trim(DSExport.FELD2) & "|" _
        .
        .

    ExpFileName = CurrentProject.Path & "\" & "Export.txt"
    ExpFileNr = FreeFile
    Open ExpFileName For Append As ExpFileNr
    Print #ExpFileNr, strExport
    Close ExpFileNr

End Sub

Musst Du natürlich Deinen Gegebenheiten entsprechend anpassen/erweitern.
hth
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

hanna

Hallo,

@ekkehard: Vielen Dank für deine Hilfe! Das mit den Links habe ich hinbekommen!
ZitatFollowHyperlink Me!DeinFeld.Column(NrDerSpalteMitLink)
Funktioniert bestens! Das mit der csv-Datei ist ne Nummer zu groß für mich. Ich werde es jetzt erstmal dabei belassen und die Adresse halt manuell eingeben. Du musst wissen, ich bin noch nicht so lange dabei. Mir fehlen eine Reihe von Grundlagen. Ich bin auf eure Hilfe angewiesen..  :-[

Jetzt ist die DB fast so, wie ich es mir vorgestellt habe. Da ich kein extra Feld für die Zahlungen habe (Zahlungsbetrag=Rechnungsbetrag), weiß ich nicht wie ich einen Bericht erstellen soll wo die Zahlungen abhängig von den Auftragsnummern nach Datum aufgelistet werden. Das Problem für mich ist, dass das Rechnungsdatum in einer Zeile der tblBestellstatus abgelegt ist und ich mir den Rechnungsbetrag errechnen muss. Ich würde gerne Monats und Gesamtübersicht der Rechnungsbeträge, nach Auftragsnummer geordnet, erstellen. Kann mir nochmal jemand tatkräftig helfen?

Danke Jungs!



[Anhang gelöscht durch Administrator]

Beaker s.a.

Hallo Hanna,
ZitatDas mit der csv-Datei ist ne Nummer zu groß für mich. Ich werde es jetzt erstmal dabei belassen und die Adresse halt manuell eingeben. Du musst wissen, ich bin noch nicht so lange dabei. Mir fehlen eine Reihe von Grundlagen. Ich bin auf eure Hilfe angewiesen.. 
Machen wir ja gerne.
Wie gesagt, wenn Du die Dateibeschreibungen besorgen kannst und hier postest bekommen wir das zusammen sicher hin.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)