Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Mehrere Update abfragen in einem
zurück: Palettenzettel weiter: Tabellen bei Laden der Access-DB autom. importieren Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
BlueLu
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. März 2010, 00:06
Rufname:

Mehrere Update abfragen in einem - Mehrere Update abfragen in einem

Nach oben
       Version: Office 2007

Einen schönen Samstag Abend allerseits!

Möchte gerne einen Newsletter mit einer persönlichen Anrede aus meiner Datenbank verwirklichen.
Hab dazu von jeder Person das Geschlecht(also 'M' oder 'W').

Zudem hab ich jetzt auch noch 3 Spalten Anrede, Anrede-DE, Anrede-EN erstellt, die entsprechend geupdated werden sollte.
Eine zusätzliche Schwierigkeit ist, dass auch mehrere Sprachen vorhanden sind. Diese hole ich mir ganz simpel aus der Spalte Nation ('D', 'A', 'CH', 'NL', 'I', ...)

Hab mit Innerjoins, mehreren UPDATES probiert, in der SUFU nix passendes gefunden, aber mein Ansatz wäre so in etwa:
Code:
//Abfrage 1:
UPDATE cmf1
SET    fanrede-DE = 'Sehr geehrter Herr'
WHERE  fsex = 'M'
OR     fnat = 'D'
OR     fnat = 'A'

//Abfrage 2:
UPDATE cmf1
SET    fanrede-DE = 'Sehr geehrte Frau'
WHERE  fsex = 'W'
OR     fnat = 'D'
OR     fnat = 'A'

//Abfrage 3:
UPDATE cmf1
SET    fanrede-EN = 'Dear Mr'
WHERE  fsex = 'M'
AND    fnat <> 'D'
OR     fnat <> 'A'

//Abfrage 4:
UPDATE cmf1
SET    fanrede-EN = 'Dear Mrs'
WHERE  fsex = 'W'
AND    fnat <> 'D'
OR     fnat <> 'A'

//Abfrage 5: (Die wichtigste von allen)
Irgendwie alle zusammen, sodass Geschlecht und Sprache in der richtigen Form sind.
Am Ende sollte dann also bei fanrede-DE die deutsche Anrede mit dem richtigen Geschlecht bzw. bei fanrede-EN die englische Anrede mit dem richtigen Geschlecht stehen.
Die fanrede sollte die komplett richtige Anrede beinhalten (Sprache und Geschlecht).

Dies hat den Grund, da es ein sehr alter Datenstamm ist, mit oftmals schlampiger Eingabe und ich so anfangs die deutsche und englische Version im gleichen Mail schicken möchte.

Zusammengefasst:
Code:
SELECT fname, fvname, fsex, fanrede, fanrede-DE, franrede-EN
FROM   cmf1
WHERE  UPDATE1
OR     UPDATE2
OR     UPDATE3
OR     UPDATE4
AND    UPDATE5
ist das irgendwie möglich?

danke schon im Voraus!
Marmeladenglas
komme zurecht


Verfasst am:
14. März 2010, 08:34
Rufname:


AW: Mehrere Update abfragen in einem - AW: Mehrere Update abfragen in einem

Nach oben
       Version: Office 2007

Hi,
so ganz kann ich dir nicht folgen.
Wozu gibt es drei Felder der Anrede ?
Dachte anhand des Geschlechts und der Nation, soll der Person eine Anredeform zugeordnet werden ?
Wenn ich von deinen Abfragen ausgehe, bliebe je eins der 3 Felder leer. Bzw.
in welchem Feld würde die Anrede eines Italieners geupdatet ??
Im Prinzip ist es nicht zwangsläufig die Anreden in deiner TAbelle zu speichern.
Über entsprechende Select-Abfrage könnte hier die Zuordnung erfolgen.
BlueLu
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. März 2010, 18:43
Rufname:

AW: Mehrere Update abfragen in einem - AW: Mehrere Update abfragen in einem

Nach oben
       Version: Office 2007

Hi Marmeladenglas.

Also die drei Felder der Anrede haben nur Momentan Bedeutung, da ich die ersten Mails beidsprachig rausschicken möchte, sodass die User dann selber Ihre Daten updaten.

Italienisch ist <> D oder A und somit Englisch.

Wie kann ich dann die 3 Abfragen kombinieren? Oder zumindest, dass ich eine richtige Anrede herbekomm?
ebs17
Learning by Doing - Bastler


Verfasst am:
14. März 2010, 19:20
Rufname:
Wohnort: Reinsberg

AW: Mehrere Update abfragen in einem - AW: Mehrere Update abfragen in einem

Nach oben
       Version: Office 2007

Statt sich in zusätzlichen, aber eigentlich unnützen Feldern zu verlieren, ist es sicher übersichtlich, sich in einer eigendefinierten Funktion die passende Anrede aus vorhandenen Daten zu berechnen:
Code:
Public Function ErmittleAnrede(ByVal Nation As String, ByVal Geschlecht As String) As String
   Dim sRes As String
   Select Case Nation
      Case "D", "A"
         If Geschlecht = "M" Then
            sRes = "Sehr geehrter Herr"
         Else
            sRes = "Sehr geehrte Frau"
         End If
      Case "E"
         ' ...
      Case "I"
         ' ...
   End Select
   ErmittleAnrede = sRes
End Function

Die einfache Erweiterungsfähigkeit ist erkennbar.
Statt der Hardcodierung könnte man sich die Anreden auch aus einer Tabelle holen und damit eine Datenpflege durch einen Nutzer ermöglichen.
Die Abfrage dann:
Code:
SELECT T.fname, T.fvname, T.fsex, T.fnat, ErmittleAnrede(T.fnat, T.fsex) AS fanrede
FROM   cmf1 AS T

_________________
Mit freundlichem Glück Auf!

Eberhard
BlueLu
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. März 2010, 22:24
Rufname:


AW: Mehrere Update abfragen in einem - AW: Mehrere Update abfragen in einem

Nach oben
       Version: Office 2007

Vielen Dank ebs!

Hat super geklappt!! Razz
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Aggregatfunktion Update 0 c-i 886 21. Jan 2005, 13:04
c-i Aggregatfunktion Update
Keine neuen Beiträge Access Tabellen & Abfragen: mehrer abfragen ein formular 1 romu 719 10. Jan 2005, 15:54
lothi mehrer abfragen ein formular
Keine neuen Beiträge Access Tabellen & Abfragen: Parameter Abfragen mit "Drop Down Menu" 2 tomsingapore1 1620 23. Dez 2004, 17:56
tomsingapore1 Parameter Abfragen mit "Drop Down Menu"
Keine neuen Beiträge Access Tabellen & Abfragen: Memoformat in Tabelle wird bei Abfragen eiskalt trunkiert?!! 8 Muschimaus 1516 03. Dez 2004, 19:23
Skogafoss Memoformat in Tabelle wird bei Abfragen eiskalt trunkiert?!!
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragen- Formularfeld als Kriterium 1 Gast 684 22. Nov 2004, 15:02
Felix15 Abfragen- Formularfeld als Kriterium
Keine neuen Beiträge Access Tabellen & Abfragen: Platzhalter in Abfragen einbinden 2 santje243 915 06. Nov 2004, 12:01
santje243 Platzhalter in Abfragen einbinden
Keine neuen Beiträge Access Tabellen & Abfragen: spezielle Abfragen 1 Hilfe 704 27. Sep 2004, 17:47
Skogafoss spezielle Abfragen
Keine neuen Beiträge Access Tabellen & Abfragen: Access XP: UPDATE mit JOIN möglich? 1 small-step 565 27. Aug 2004, 08:50
small-step Access XP: UPDATE mit JOIN möglich?
Keine neuen Beiträge Access Tabellen & Abfragen: SQL Abfragen ausgeben?? 2 woerny01 669 11. Jul 2004, 07:10
Gast SQL Abfragen ausgeben??
Keine neuen Beiträge Access Tabellen & Abfragen: Eingabefelder in Abfragen?!?! 6 Diovan80 609 28. Jun 2004, 09:51
Diovan Eingabefelder in Abfragen?!?!
Keine neuen Beiträge Access Tabellen & Abfragen: Geänderte Feldnamen in Abfragen, Formulare usw. übernehmen 4 mondi 770 23. Jun 2004, 11:21
mondi Geänderte Feldnamen in Abfragen, Formulare usw. übernehmen
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Zahlen in Abfragen Aufrunden 1 GAST 575 28. Mai 2004, 13:42
lothi Zahlen in Abfragen Aufrunden
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Web Editor Forum