collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 66
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14471
  • stats Beiträge insgesamt: 72211
  • stats Themen insgesamt: 9746
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Mailadresse automatisch vorbereiten  (Gelesen 781 mal)

Offline neutrino

  • Access-User
  • *
  • Beiträge: 57
Mailadresse automatisch vorbereiten
« am: Juli 21, 2019, 13:00:36 »
Hallo Experten,
in meiner Kundendatenbank mit über 4.000 Datensätzen möchte ich folgendes automatisieren:
Darin gibt es ein Hauptformular mit der Kundenadresse und Informationen. In diesem Hauptformular gibt es ein Feld "Mailvorbereitung", in welches ich die Endung der Mailadresse eingebe, z.B. wäre dies für den Kunden mit Namen "Beispiel" die Endung @beispiel.de.
In das Hauptformular habe ich ein Unterformular (verknüpft über die Kundennummer) eingebunden, in welchem in Listenform alle Ansprechpartner dieses Kunden angezeigt werden, u.a. mit Telefonnummer, Durchwahl, Funktion und auch "Mailadresse", dies können bei manchen Kunden leicht 50 Ansprechpartner sein. Bei manchen Ansprechpartnern ist bereits eine Mailadresse eingetragen, bei manchen aber auch nicht. Wie kann ich zur Vorbereitung erreichen, dass nur in die leeren Felder "Mailadresse" automatisch die "Mailvorbereitung" aus dem Hauptformular eingetragen wird ? Und darüber hinaus dann auch bei Neuanlagen von Ansprechpartnern diese "Mailvorbereitung" aus dem Hauptformular als Standardwert vorgegeben wird ? Dann bräuchte ich nur noch davor die Namen zu ergänzen.

Gruß
neutrino
« Letzte Änderung: Juli 21, 2019, 14:01:27 von neutrino »
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 2206
Re: Mailadresse automatisch vorbereiten
« Antwort #1 am: Juli 21, 2019, 16:54:42 »
@Neutrino
Zitat
Wie kann ich zur Vorbereitung erreichen, dass nur in die leeren Felder "Mailadresse"  automatisch die "Mailvorbereitung" aus dem Hauptformular eingetragen wird
Mit einer Aktualisierungsabfrage (Luftcode)
UPDATE Ansprechpartner As AP
INNER JOIN Kunden As K ON AP.KundenID_F = K.KundenID
SET AP.Mailadresse = K.Mailvorbereitung
WHERE AP.MailAdresse Is Null

Zitat
Und darüber hinaus dann auch bei Neuanlagen von Ansprechpartnern diese "Mailvorbereitung" aus dem Hauptformular als Standardwert vorgegeben wird
Code im UFo
Private Sub Form_Current()
    If Me.NewRecord Then
    'bei neuen DS
        Me.Mailadresse = Me.Parent.Mailvorbereitung
    Else
    'bei bestehenden DS
        If Left(Me.Mailadresse,1) = "@" Then
            MsgBox "Mailadresse unvollständig; - Name fehlt!"
        End If
    End If
End Sub

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline neutrino

  • Access-User
  • *
  • Beiträge: 57
Re: Mailadresse automatisch vorbereiten
« Antwort #2 am: Juli 21, 2019, 18:58:43 »
Perfekt, Daaanke !! ;D
 

Offline neutrino

  • Access-User
  • *
  • Beiträge: 57
Re: Mailadresse automatisch vorbereiten
« Antwort #3 am: Juli 24, 2019, 21:58:59 »
Hallo Ekkehard,

habe Deinen Code getestet, klappt aber noch nicht.

Mein Hauptformular heisst: "Kundenbasis", das Feld mit der Mailadressenvorbereitung heisst "Mailvorbereitung"
Mein Unterformular heisst: "Ansprechpartner", das Feld mit der Mailadresse heisst "Mailadresse"
Verknüpft mit der Kundennummer, Name des Feldes lautet "Kdnr"

Dein Code hinter meiner Schaltfläche müsste somit lauten

Private Sub Befehl1_Click()
UPDATE Ansprechpartner As AP
INNER JOIN Kundenbasis As K ON AP.Kdnr_F = K.Kdnr
SET AP.Mailadresse = K.Mailvorbereitung
WHERE AP.MailAdresse Is Null
End Sub

Hängt mit Kompilierfehler

Gruss
neutrino
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 8084
Re: Mailadresse automatisch vorbereiten
« Antwort #4 am: Juli 25, 2019, 00:48:07 »
Hallo,
Du vermischt bzw. verwechselst hier SQL mit VBA.
Der Code ab Update bis Null ist SQL und muss auch als SQL ausgeführt werden.
Private Sub Befehl1_Click()
CurrentDB.Execute "UPDATE Ansprechpartner As AP INNER JOIN Kundenbasis As K ON AP.Kdnr_F = K.Kdnr SET AP.Mailadresse = K.Mailvorbereitung WHERE AP.MailAdresse Is Null", dbFailOnError
End Sub
Die CurrentDB Zeile in einer Zeile, ich habe mal bewusst keine Zeilenschaltung eingefügt.
« Letzte Änderung: Juli 25, 2019, 16:30:57 von MzKlMu »
Gruß
Klaus
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 2206
Re: Mailadresse automatisch vorbereiten
« Antwort #5 am: Juli 25, 2019, 14:51:16 »
Hallo Klaus,
Danke für deine Erläuterungen an den TS.
Da ich das als einmalige Aktion verstehe, dachte ich an ein schnelles C&P ins
SQL-Fenster und ausführen.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline neutrino

  • Access-User
  • *
  • Beiträge: 57
Re: Mailadresse automatisch vorbereiten
« Antwort #6 am: Juli 25, 2019, 16:19:02 »
Hallo zusammen,
Ihr habt Recht, ich habe nicht wirklich Ahnung von SQL unf VBA... Ich reime mir das immer zusammen, bisher hat es immer geklappt..  ;)

@Klaus: Mein Debugger meckert über das "," am Ende des Codes

Ist der Code zur Änderung der Tabellen geschrieben die hinter den Formularen liegen (dann in einem Schritt über alle Kundensätze) oder zur Änderung der gerade sichtbaren Felder in dem aktuell offenen Formular und Unterformular (nur dem aktiven Kundensatz) ? Letzteres meinte ich eigentlich. Ich habe mir eine Schaltfläche in mein

Danke und Gruß
neutrino
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 8084
Re: Mailadresse automatisch vorbereiten
« Antwort #7 am: Juli 25, 2019, 16:30:35 »
Hallo,
da habe ich vor dem Komma noch ein Az (") vergessen, bitte einfügen, habe ich oben auch noch gemacht.
Gruß
Klaus
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 2206
Re: Mailadresse automatisch vorbereiten
« Antwort #8 am: Juli 25, 2019, 17:52:31 »
@neutrino
Die Abfrage macht das für alle DS der Tabelle "Ansprechpartner" bei
denen das Feld "Mailadresse" komplett leer ist.
Den Rest erledigt mein Code; - bei neuen DS wird die Vorgabe direkt
übernommen (natürlich nur soweit vorhanden), bei bestehenden DS
(dem aktuellen) wird geprüft ob die Adresse komplett ist, - wird nach
der Abfrage ja vorkommen. Falls nicht kommt eine MsgBox.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline neutrino

  • Access-User
  • *
  • Beiträge: 57
Re: Mailadresse automatisch vorbereiten
« Antwort #9 am: Juli 25, 2019, 19:55:53 »
Hallo zusammen,
habe den Code mehrfach gestartet, es fehlte aber immer ein Parameter. Bis ich dann aus dem Code hinter Kdnr die Zeichen "_F" gelöscht habe. Dann funktionierte der Code. War das evtl. ein Tippfehler, oder macht "_F" hier Sinn ?

Da meine Datenbank sehr groß ist (4.000 Adressen, 6.000 Ansprechpartner) fände ich es besser, wenn nicht immer die komplette Tabelle überarbeitet wird, sondern nur der gerade im Hauptformular offene Datensatz (somit nur die aktuelle Kundennummer = Kdnr). Geht das auch ?

Danke und Gruß
neutrino
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 2206
Re: Mailadresse automatisch vorbereiten
« Antwort #10 am: Juli 26, 2019, 18:51:11 »
@Neutrino
Na ja, die Feldnamen musst du schon anpassen. Solange wir hier kein
Beziehungsbild sehen, nehmen die meisten Standardfeldnamen. Und da
hat ein Fremdschlüsselfeld meist das Suffix "_F".
Das muss ja auch nicht jedes mal (wann ist das überhaupt?) die ganze
Tabelle aktualisiert werden. Wenn die Abfrage einmal gelaufen ist,
kannst du die wieder "wegwerfen". Dann steht in allen DS in denen
vorher nichts stand der Wert aus "Mailvorbereitung". Anschliessend wird
das Feld nur noch bei neuen DS (Anspr.Partnern) geprüft und gefüllt.
Noch mal erkläre ich das jetzt aber nicht.
gruss ekkehard
« Letzte Änderung: Juli 27, 2019, 14:56:15 von Beaker s.a. »
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline neutrino

  • Access-User
  • *
  • Beiträge: 57
Re: Mailadresse automatisch vorbereiten
« Antwort #11 am: Juli 26, 2019, 20:49:35 »
OK, nochmals Danke und Gruß

neutrino
 

Offline neutrino

  • Access-User
  • *
  • Beiträge: 57
Re: Mailadresse automatisch vorbereiten
« Antwort #12 am: Juli 27, 2019, 08:56:22 »
Moin nochmal,
Bitte habt Nachsehen mit einem "Laien"..
Ich habs nochmal probiert. Wenn ich den Code übernehme ..AP.Kdnr_F = K.Kdnr SET.. dann meckert ACCESS "1 Parameter wurde erwartet, aber es wurden zu wenig Parameter übergeben". Nur wenn ich den Code anpasse ..AP.Kdnr = K.Kdnr SET.. läuft dieser durch. Daher war meine Frage, ob diese unterschiedliche Bezeichnung programmtechnisch gewollt war ? Die verknüpfende Kundennummer heisst bei mir "Kdnr".
Allerdings klappt dies nicht bei allen Ansprechpartnern. Es gibt Kunden, bei denen einige Ansprechpartner nach Durchlauf eine ergänzte Mailadresse haben und manche nicht. Habe überlegt, ob diese Felder vielleicht nicht leer sind, aber es sind zB keine Lehrzeichen enthalten, müssten somit "is null" entsprechen. Oder kann es daran liegen, dass der Durchlauf bei 6.000 Ansprechpartnern dauert ? Ich kann aber nirgendwo erkennen (kein Balken oder ähnliches) ob der Durchlauf abgeschlossen ist.
Gruß
neutrino
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 8084
Re: Mailadresse automatisch vorbereiten
« Antwort #13 am: Juli 27, 2019, 10:18:23 »
Hallo,
Du musst genau die Feldnamen verwenden die Du vergeben hast.

Und bitte zeige jetzt mal das Bild des Beziehungsfensters.
Du hast ja hoffentlich Beziehungen angelegt.
Gruß
Klaus
 

Offline neutrino

  • Access-User
  • *
  • Beiträge: 57
Re: Mailadresse automatisch vorbereiten
« Antwort #14 am: Juli 27, 2019, 13:22:07 »
Jetzt versteh ich glaube ich Euer Missverständnis. In beiden Tabellen heisst das Feld "Kdnr". Über diese Felder habe ich beide Tabellen verknüpft.
Ok die Abfrage läuft ja jetzt. Nur bleiben immernoch einige Ansprechpartner, bei denen sich das Feld "Mailadresse" komischerweise nicht automatisch füllt. Ich habe diese Felder auf Leerzeichen durchsucht, aber keine gefunden. Dann habe ich Testweise neue Ansprechpartner mit genau dem gleichen Inhalt angelegt und siehe da, dort wird das "Mailadresse" gefüllt. Irgendwas muß somit in diesen vermeintlich leeren Feldern sein, weshalb "is null" hier scheitert.
Kann man diese Felder irgendwie per Makro bereinigen ?

Danke und Gruß
neutrino
 

 


Advertisment / Werbung - Amazon Affiliate Links