christiankarl
Goto Top

VBA Vergleiche Lokale Tabelle mit anderer Access Tabelle und wenn andere Tabelle neuer dann X sonst Y

Hallo,
ich habe eine Zentrale Access Datei,
in welcher eine Tabelle Version vorhanden ist
In dieser steht nur eine Zeile, wo das akuelle Datum eingetragen wird.

Ich habe eine Lokale Access Datei in dieser ist ebenfalls diese Tabelle vorhanden.

Nun möchte ich per VBA die Tabellen vergleichen und wenn die Zentrale Tabelle, dort das Datum aktueller ist als die Lokale Datei dann soll
X passieren sonst Y,

Irgendwie bekomme ich dieses nicht hin,

Vielleicht kann mir hier jemand helfen.

Content-Key: 222743

Url: https://administrator.de/contentid/222743

Printed on: April 25, 2024 at 02:04 o'clock

Member: SlainteMhath
SlainteMhath Nov 22, 2013 at 13:43:41 (UTC)
Goto Top
Moin,

Irgendwie bekomme ich dieses nicht hin,
Im Prinzip würde so vorgehen:
1. Tabelle per ODBC Verknüpfen
2. Werte aus beiden Tabellen per Query oder dlookup auslesen
3. X oder Y machen
4. Verknüpfung wieder lösten

Wo genau hängst's?

lg,
Slainte
Member: christiankarl
christiankarl Nov 22, 2013 updated at 14:19:29 (UTC)
Goto Top
Hallo Slainte,

danke für die Rückmeldung,
eigentlich hängt es am gesamten VBA.
bin da nicht wirklich Fit drin.

versuch

DoCmd.TransferDatabase acLink, "Microsoft Access", _   
                           "q:\test.accdb", _   
                           acTable, "Version", "TempVersion", False  

'Hier fehlt der verlgeich zwischen den tabellen  

On Error Resume Next 
    DoCmd.DeleteObject acTable, "TempVersion"   
    On Error GoTo 0

Gruß
Christian
Member: SlainteMhath
SlainteMhath Nov 22, 2013 at 14:24:15 (UTC)
Goto Top
eigentlich hängt es am gesamten VBA.
bin da nicht wirklich Fit drin.
damit wirst du dich aber ein bisschen beschäftigen müssen.

- Tabellen Verknüpfen z.b. hier: http://technet.microsoft.com/en-us/library/cc722917.aspx (ab: To link an external table)
- Werte auslesen geht per dlookup oder Query/QueryDef
- "X oder Y" machen geht mit "if...then...else"
Member: colinardo
colinardo Nov 23, 2013, updated at Nov 24, 2013 at 09:14:33 (UTC)
Goto Top
Hallo Christian,
der Vergleich zwischen zwei Tabellen und der Zurückgabe des aktuelleren Datums jeder Zeile, lässt sich auch ohne VBA in Access mit einer SQL-Abfrage folgender Art realisieren:
Im Beispiel heißen die Tabellen "table1" und "table2", die Datums-Spalten der Tabellen:"version" und die Primärindex-Spalte: "ID"
SELECT Switch([table1].[version]>[table2].[version],[table1].[version],True,[table2].[version]) AS [Neueste Version]
FROM table1 INNER JOIN table2 ON table1.ID = table2.ID;
Das Ergebnis dieser Abfrage ist eine Tabelle mit einer Spalte namens "Neueste Version".
Hinweis: Diese SQL-Abfrage mit Switch() funktioniert nur unter MS Access.

Grüße Uwe
Member: SlainteMhath
SlainteMhath Nov 25, 2013 at 07:13:16 (UTC)
Goto Top
Sieht ja schonmal gar nicht so übel aus face-smile

'Hier fehlt der verlgeich zwischen den tabellen
Schau dir doch bitte mal die dlookup-Funktion an