PieterJanVdb
Gebruiker
- Lid geworden
- 10 jan 2011
- Berichten
- 7
Allen,
Ik geraak er niet uit en vind ook nergens een antwoord op internet.
Ik werk met Microsoft Access 2007.
Ik heb een redelijk grote database met verschillende (grote) tabellen met heel veel velden (100+ velden). Op regelmatige basis moet hierbij info aangevuld worden in bestaande tabellen, deze info is beschikbaar als een Excel-bestand. Ik heb al een Form gemaakt waarbij ik het Excel-werkblad importeer in een tijdelijke tabel. Nu moet deze tabel samengevoegd worden met de juiste tabel, maar het gaat altijd over andere velden.
Ik geef een voorbeeld, ik stel als voorbeeld een tabel "weer", met als velden "datum", "plaats", "temperatuur", "druk", "neerslagtype", "neerslaghoeveelheid", "grondtemperatuur", "windrichting", "windsterkte", "dauwpunt", ...
Vervolgens wil ik dan nieuwe gegevens aanvullen, bijvoorbeeld een Excel-bestand met als data "datum", "plaats", "neerslagtype" en "temperatuur". Eerst importeer ik alles in een tijdelijke tabel "temp".
Ik heb dan al volgende SQL:
Nu, dat werkt allemaal fijn, maar volgende keer heb ik een Excel-bestand met als velden "datum", "plaats", "windrichting" en "windsterkte", daarna nog een andere combinatie, ....
En ik zou willen vermijden dat ik 300 verschillende queries hiervoor moet schrijven. Zeker omdat er soms wel eens een veldnaam (bijvoorbeeld "pollenconcentratie" of "bewolkingstype") bijkomt.
Ik krijg het maar niet voor elkaar om iets te maken in de stijl van:
Ter info, data mag overschreven worden, normaal gezien is die data die ik wil importeren er nog niet, hetzelfde, of nauwkeuriger in de nieuwe import.
Normaal gezien bestaat "datum" en "plaats" in de tabel "weer" al voor elke import die kan gebeuren, mocht die nog niet bestaan, dan moet die niet ingevoerd worden.
Gaat dit überhaupt wel lukken met sql of ga ik dit met VBA moeten oplossen? Andere voorstellen zijn ook zeker welkom!
Alvast bedankt voor de hulp!
Ik geraak er niet uit en vind ook nergens een antwoord op internet.
Ik werk met Microsoft Access 2007.
Ik heb een redelijk grote database met verschillende (grote) tabellen met heel veel velden (100+ velden). Op regelmatige basis moet hierbij info aangevuld worden in bestaande tabellen, deze info is beschikbaar als een Excel-bestand. Ik heb al een Form gemaakt waarbij ik het Excel-werkblad importeer in een tijdelijke tabel. Nu moet deze tabel samengevoegd worden met de juiste tabel, maar het gaat altijd over andere velden.
Ik geef een voorbeeld, ik stel als voorbeeld een tabel "weer", met als velden "datum", "plaats", "temperatuur", "druk", "neerslagtype", "neerslaghoeveelheid", "grondtemperatuur", "windrichting", "windsterkte", "dauwpunt", ...
Vervolgens wil ik dan nieuwe gegevens aanvullen, bijvoorbeeld een Excel-bestand met als data "datum", "plaats", "neerslagtype" en "temperatuur". Eerst importeer ik alles in een tijdelijke tabel "temp".
Ik heb dan al volgende SQL:
Code:
UPDATE weer, temp
SET weer.neerslagtype=temp.neerslagtype, weer.temperatuur= temp.temperatuur
WHERE weer.datum=temp.datum AND weer.plaats=temp.plaats
Nu, dat werkt allemaal fijn, maar volgende keer heb ik een Excel-bestand met als velden "datum", "plaats", "windrichting" en "windsterkte", daarna nog een andere combinatie, ....
En ik zou willen vermijden dat ik 300 verschillende queries hiervoor moet schrijven. Zeker omdat er soms wel eens een veldnaam (bijvoorbeeld "pollenconcentratie" of "bewolkingstype") bijkomt.
Ik krijg het maar niet voor elkaar om iets te maken in de stijl van:
Code:
UPDATE weer, temp
SET weer.*=temp.* (voor alle velden waar temp.* bestaat)
WHERE weer.datum=temp.datum AND weer.plaats=temp.plaats
Ter info, data mag overschreven worden, normaal gezien is die data die ik wil importeren er nog niet, hetzelfde, of nauwkeuriger in de nieuwe import.
Normaal gezien bestaat "datum" en "plaats" in de tabel "weer" al voor elke import die kan gebeuren, mocht die nog niet bestaan, dan moet die niet ingevoerd worden.
Gaat dit überhaupt wel lukken met sql of ga ik dit met VBA moeten oplossen? Andere voorstellen zijn ook zeker welkom!
Alvast bedankt voor de hulp!