Einfügen von Daten in verknüpfte Tabellen

Moderator: ModerationP

Einfügen von Daten in verknüpfte Tabellen

Beitragvon jr1396 » 08. Aug 2019, 11:57

Hallo zusammen,

ich habe für die Arbeit ein Datenbankmodell entworfen, das projektspezifisch mit Daten gefüllt werden soll. Da die Daten bisher in Exceltabellen existieren, müssen diese für die jeweiligen Projekte nach Access importiert werden. Da natürlich in den verschiedenen Exceltabellen mehrere Spalten mehrfach vorkommen, hab ich in Access 1:n Beziehungen erstellt, sodass jede Information nur einmal vorkommt. Für das Bearbeiten und Hinzufügen gibt es Formulare, die die Datensätze auch richtig verknüpfen.
Allerdings ist mein Problem, dass sehr viele Datensätze (>1000) zu Beginn importiert werden sollen in die einzelnen Tabellen, da sie in Excelformat ja bereits vorliegen. Deshalb wollte ich fragen ob es möglich ist, die benötigten Spalten für die Mastertabelle in die Mastertabelle zu importieren, sodass in den untergeordneten Tabellen automatisch eine Verknüpfung zur Mastertabelle erstellt wird oder ob man das händisch machen muss?

Ich hoffe ich hab mich verständlich ausgedrückt und bedanke mich schonmal für jede Hilfe.

Viele Grüße,
Julian
jr1396
 

Re: Einfügen von Daten in verknüpfte Tabellen

Beitragvon knobbi38 » 08. Aug 2019, 14:10

Hallo Julian,

deine Beschreibung ist nicht gerade aufschlußreich. Auch ist mir nicht ganz klar, was bei dir eine Mastertabelle und eine Untertabelle ist. Die Formulare haben auch nichts mit dem Import zu tun.

Ausgehend der Bedingungen für die RI müssen erst die 1-Tabellen und dann n-Tabellen geladen werden, wobei die einzelnen Abhängigkeiten berücksichtigt werden müssen.
Am einfachsten wird es sein, dafür einen Import Client zu erstellen, der einerseits die Excel-Tabellen eingebunden hat und andererseits Zugriff auf die Tabellen des BE hat. Dann können die Daten per Action-Queries/VBA übernommen werden, entweder automatisch oder manuell 'on-the-fly' per Hand. Anschließend wird dieser Client nicht mehr benötigt und kann dann entsorgt werden.

Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1174
Registriert: 02. Jul 2015, 14:23

Re: Einfügen von Daten in verknüpfte Tabellen

Beitragvon PetraLuise » 08. Aug 2019, 14:24

2
Zuletzt geändert von PetraLuise am 08. Aug 2019, 14:26, insgesamt 2-mal geändert.
Gruß
PetraL
PetraLuise
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 56
Registriert: 18. Aug 2014, 15:28

Re: Einfügen von Daten in verknüpfte Tabellen

Beitragvon PetraLuise » 08. Aug 2019, 14:24

Hi Julian,
wenn es um die Verknüpfung von Tabellen und nicht um Beziehungen geht, kann ich vielleicht helfen.
Code: Alles auswählen
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'* Tabellen verknüpfen
'**********************************************************
Public Function TblLinkAll(Optional sKZ As String) As String
' sKZ: Kennzeichnet welche DB-Tabellen geöffnet werden.
'        WS= Wäsche, KR= Kinderriegel
'----------------------------------------------------------
Dim tblDef As DAO.TableDef
Dim sTblName As String, sDBName As String, sDBSource As String, sDBPwd As String
Dim rsTables As DAO.Recordset

On Error GoTo Err_LinkAll
sTblName = "SELECT * From sysLinks WHERE [" & sKZ & "] = true ORDER BY DBName;"      ' In sysLinks stehen die Benötigten Datenbanken und Tabellennamen
Set rsTables = CurrentDb.OpenRecordset(sTblName)
   
If rsTables.EOF Then GoTo NO_sysLinks
rsTables.MoveFirst
   sTblName = ""
   sDBName = ""
   
' VerknüpfungDatenbank ermitteln
While Not rsTables.EOF
     sDBName = Trim(rsTables!DBName)  ' DBname steht in sysLinks, Pfad ist Public
     sDBSource = pcTBLPfad & sDBName & psDBExt
     
     Do While rsTables!DBName = sDBName
         sTblName = rsTables!TblName
         Set tblDef = CurrentDb.CreateTableDef(sTblName) ' Zielstruktur = Quellstruktur
         
         sDBPwd = "''"
         If sDBName = "Tabellen" Or sDBName = "KinderRiegel_be" Then sDBPwd = "BackEnd-Daten-Passwort"
         
         tblDef.Connect = ";Database=" & sDBSource & ";pwd=" & sDBPwd
         tblDef.SourceTableName = sTblName

         ' wenn schon vorhanden, dann error! -> Err_LinkAll
         CurrentDb.TableDefs.Append tblDef
         rsTables.MoveNext
         If rsTables.EOF Then Exit Do
     Loop
Wend

   rsTables.Close
   Set rsTables = Nothing
   TblLinkAll = "OK"

Exit_TblLinkAll:
   Exit Function

NO_sysLinks:
   ' Keine passenden Daten in sysLinks
   TblLinkAll = "Keine passenden Daten in sysLinks für Kennzeichen " & sKZ & "! "
   GoTo Exit_TblLinkAll
Err_LinkAll:
   If Err.Number = 7874 Or Err.Number = 3012 Then Resume Next  '7874 nicht gefunden, 3012 bereits vorhanden, 2008 geöffnet
   TblLinkAll = Err.Description & " in LinkAllTables"
   Resume Exit_TblLinkAll
   
End Function
Gruß
PetraL
PetraLuise
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 56
Registriert: 18. Aug 2014, 15:28



Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste