joe

mehrere Listen zu einer Datenbank zusammenfügen

Problem:
mehrere Listen mit jeweils
drei feldern: Name; beschreibung, Kennzeichen

Name und Beschreibung sind gleich; das kennzeichen unterscheidet sich jeweils
listenweise, d.h. innerhalb einer liste gibt es nur EIN kennzeichen.

Ziel:
eine einzige liste mit dem Aufbau:
Name, Beschreibung und "haken" bei kennzeichen eins, kennzeichen zwei.


Beispiel:
liste-01:
name:beschreibungKennzeichen_1
müllerSachbearbeiterBrille
musterPfoertnerBrille

liste-02:
name:beschreibungKennzeichen_2
müllerSachbearbeiterAuto
meierlieferantAuto


liste-03:
name:beschreibungKennzeichen_2
schmidtSachbearbeiterschluessel
meierlieferantschluessel


gewünschtes ergebnis:
liste-all:
name:beschreibungBrilleAutoschluessel
müllerSachbearbeiterxX
musterPfoertnerx
meierlieferantxx
schmidtSachbearbeiterx

hat jemand einen Vorschlag?
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 80677

Url: https://administrator.de/forum/mehrere-listen-zu-einer-datenbank-zusammenfuegen-80677.html

Ausgedruckt am: 26.07.2025 um 21:07 Uhr

misterdemeanor
misterdemeanor 14.02.2008 um 16:37:33 Uhr
Grüß Dich Joe,

da sträuben sich einem Access-Entwickler und jedem der etwas mit relationalen Datenbanken zu tuen hat die Haare *fg

Nichtsdestotrotz versuche ich Dir mal zu helfen. Wenn Deine Angaben originalgetreu sind sollte es reichen folgenden Code in ein Modul zu pasten und laufen zu lassen.

Ganz wichtig dabei ist das Du in der leeren Tabelle "liste-all" name und bezeichnung als gemeinsamen Primäschlüssel deklarierst-->Tabellenentwurfsansicht-->die beiden Zeilen name und beschreibung gleichzeitig markieren-->Mausrechtsklick-->Primärschlüssel.

Public Function JoinTables()
  Dim sql As String
  Dim i As Integer
    DoCmd.SetWarnings False
    For i = 1 To 3
      sql = "INSERT INTO [liste-all] ( name, beschreibung )" _  
        & " SELECT [liste-0" & i & "].name, [liste-0" & i & "].beschreibung" _  
        & " FROM [liste-0" & i & "];"  
      DoCmd.RunSQL sql
      Select Case i
        Case 1
          sql = "UPDATE [liste-01] INNER JOIN [liste-all] ON ([liste-01].beschreibung = [liste-all].beschreibung) AND ([liste-01].name = [liste-all].name) SET [liste-all].Brille = True;"  
        Case 2
          sql = "UPDATE [liste-02] INNER JOIN [liste-all] ON ([liste-02].beschreibung = [liste-all].beschreibung) AND ([liste-02].name = [liste-all].name) SET [liste-all].Auto = True;"  
        Case 3
          sql = "UPDATE [liste-03] INNER JOIN [liste-all] ON ([liste-03].beschreibung = [liste-all].beschreibung) AND ([liste-03].name = [liste-all].name) SET [liste-all].schluessel = True;"  
      End Select
      DoCmd.RunSQL sql
    Next i
    DoCmd.SetWarnings True
End Function

Hoffe es hilft.

BG, Felix -misterdemeanor-
joe
joe 19.02.2008 um 14:47:32 Uhr
danke erstmal,
werde es morgen mal testen.
misterdemeanor
misterdemeanor 25.02.2008 um 10:56:44 Uhr
Grüß Dich joe,

hat sich Dein Problem bereits gelöst? Dann mal einen nettgemeinten Hinweis auf Wie kann ich einen Beitrag als gelöst markieren?

Ansonsten sag worans noch hapert face-wink

BG, Felix -misterdemeanor-