Avatar billede ugotabe_kidding Nybegynder
05. november 2002 - 12:45 Der er 4 kommentarer og
1 løsning

Synkronisere tabeller

Jeg har en DB, der både opdateres lokalt i Access, samt på Nettet. Jeg skal naturligvis kunne synkronisere disse. Når jeg henter web-versionen ind i Access fra en .csv-fil, ligger alle felter som text, pånær ID-feltet, som er et "number".
Jeg vil lade alle de poster, der har en nyere redigerdato overskrive de lokale og gør det vha. en Update-query:

UPDATE tblPerson, Stamdata SET Stamdata.Name = [tblPerson].[strName], Stamdata.Address1 = [tblPerson].[strAddress1], Stamdata.[City&No] = [tblPerson].[strCityZip], Stamdata.Country = [tblPerson].[strCountry], Stamdata.Oprettelsesdato = [tblPerson].[dtmCreated], Stamdata.Redigerdato = [tblPerson].[dtmAccessed],
WHERE (((Stamdata.Redigerdato)<[tblPerson].[dtmAccessed]) AND ((Stamdata.PersNo)=[tblPerson].[intPersonID]));

Hvad gør jeg forkert?
Avatar billede jkrons Professor
05. november 2002 - 13:18 #1
Hvad går galt?
Avatar billede ugotabe_kidding Nybegynder
05. november 2002 - 13:25 #2
Sorry... Det var måske ikke så klart formuleret.
Jeg checker om PersonID'erne stemmer overens og vil have den til at overskrive, hvis redigeringstidspunktet fra DB'en på serveren er "højere" end det lokale. Men jeg får ingenting over.
Først forsøger jeg at ændre datofelterne fra den importerede fil fra text til "General Date" (det er det format, der bruges). Men så sletter den for det første en masse af datoerne i importfilen og når jeg bagefter kører ovenstående query opdateres ingenting. Der er ikke en eneste post der ændres :o(
Er det min datokonvertering eller er det SQL'en, den er gal med?
Avatar billede proaccess Nybegynder
08. november 2002 - 14:21 #3
Dit problem er dato-formatet !!!

Din dato skal ligge i formatet: ååååmmdd-ttmmss, for at du kan afgøre om noget er større end eller ej...

hvis du sammenligner
  08/10/2002 14:27
med
  12/09/2002 14:28

Så er den nederste størst da første tegn (1) er større end (0) uden hensyntagen til måneden...

Løsningen er altså at "gemme" dato'er er format hvor mest betydende (år) oplysninger kommer først!  åååå-mm-dd!
Avatar billede ugotabe_kidding Nybegynder
08. november 2002 - 14:51 #4
Jeg lagrer allerede dato som YYYY-MM-DD HH:MM:SS, hvilket efter sigende skulle være en form for ISO-standard på web? Jeg kan godt sammenligne på datoer nu, men jeg har stadig et problem med at al data downloadet fra web-databasen kommer som tekst, og ikke som de rette feltværdier (autonumber, text, Number, date/time, mv)
Avatar billede ugotabe_kidding Nybegynder
03. januar 2003 - 01:29 #5
Datofeltet er lavet om til et tekstfelt og jeg kan nu synkronisere... Lukker spg.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester