Avatar billede z_master Nybegynder
04. december 2007 - 12:56 Der er 8 kommentarer og
1 løsning

Ændring af data, som kommer fra eksternt program, ved insert

Hej,

Nu har jeg kigget på mit problem i længere tid og er ikke kommet frem til en løsning. Faktisk tror jeg ikke det er muligt, men nu vil jeg høre jer gutter herinde.

Mit problem er således, at jeg har et eksternt program, som tiltider ligger en record ned i en Access tabel. Dog bliver dataen ikke lagt korrekt ned i tabellen. Data som ligger i et felt, skal placeres i et andet og omvendt.
Det er ikke muligt for mig at ændre i det eksterne program af forskellige årsager.

Er der en måde, hvorved at jeg kan lave noget Access kode, som bliver kørt, hvergang en ny insert bliver lavet på en tabel.
Avatar billede kabbak Professor
04. december 2007 - 12:58 #1
Prøv at bytte om på placeringen  af feltnavnene i tabellen
Avatar billede mugs Novice
04. december 2007 - 12:58 #2
Importer til en temp tabel. Derefter kører du en tilføjelksesforespørgsel og sender data til den rigtige tabel. i en sådan forespørgsel kan du selv besteme hvor data skal placeres.
Avatar billede z_master Nybegynder
04. december 2007 - 13:07 #3
Kabbak: Det er ikke muligt, da programmet i nogle tilfælde ikke bytter om på felterne, men kun når et bestemt felt har en bestemt værdi, så er ombytningen sket.

Mugs: Forespørgelsen skal ske i det samme sekund, der er sket en insert i Access og ikke manuelt, så jeg skal have en måde i Access til at kalde sådan en forespørgsel, når der er sket en tilføjelse.
Avatar billede mugs Novice
04. december 2007 - 13:16 #4
Du kan i en formular lave en timer hændelse (spring i millisek.), der kalder tilføjelsesforespørgslen.
Avatar billede z_master Nybegynder
04. december 2007 - 13:40 #5
Mugs: Når du siger en formular, så gætter jeg på, at det er en "Form". Jeg kører på en engelsk version af Access 2003. Hvis jeg skal bruge en form, så kræver det vel at jeg starter formen, før den kan starte sin timer hændelse, ik?

Det som jeg leder lidt efter, er en slags hook på tabellen, når der sker en tilføjelse, som så kører noget kode.
Avatar billede mugs Novice
04. december 2007 - 14:28 #6
Formen skal være aktiveret før hændelsen kører. Men formen kan sagtens være minimeret.
Jeg mener ikke, at du kan lave en sådan hændelse direkte i en tabel, med mindre du kan lave en hændelse i Windows Scheduler. Men også her skal db jo startes.

Men jeg ville afgjort lave en form kode timeren og så blot minimere formen.
Avatar billede terry Ekspert
04. december 2007 - 17:46 #7
If the extern program cant be altered then its not to easy to achieve what you want. So how or other you need to start Access so that an update query/code can be run and that could maybe have been done with automation from your extern program. Access doesnt use triggers like other dB servers as its really only a flat file.

Another suggestion was to start Access with Windows Scheduled tasks and do what ever is necessary but that would mean that the updates would not necessarily occur at the same time as the insert which may not be a good idea.
Avatar billede terry Ekspert
04. december 2007 - 17:49 #8
You could as mugs suggest have Access running all the time
Avatar billede z_master Nybegynder
05. december 2007 - 11:45 #9
terry: It isn't possible to have Access running on the side in this case. What I was looking for, was precisely a trigger action, but if it can't be done, then I can't solve the problem on Access level.

Jeg lukker forslaget. Tak for hjælpen og inputtet.
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