Avatar billede kedde65 Praktikant
06. september 2005 - 12:28 Der er 11 kommentarer og
2 løsninger

Access VBA og SQL

Hej

Kan man lave en simpel SELECT * INTO fra en Access db til en SQLServer?

VH CK
Avatar billede terry Ekspert
06. september 2005 - 15:14 #1
You should be able to do this by creating a DSN (ODBC connection) and linkin the table into Access. Then you hav eaccess to your SQL tables and IF you have the correct permissions you should be able to run an INSERT.

But maybe you could give a little more information.
Avatar billede claesdamlund Nybegynder
06. september 2005 - 22:51 #2
Du kan skrive din select into i SQL-visningen af en Access forespørgsel, og ændre forespørgslen til en SQL PassTrough forespørgsel, hvor du skal angive en DSN som parameter eller en ODBC Connection string ( som Terry skriver). Det bevirker at SQL sætningen i Access forespørgslen sendes direkte til din SQL-server, og bliver eksekveret dér.

Husk lige at en select * into Tabel overskriver eksisterende data i Tabel, til forskel fra Insert Into som kun tilføjer poster til eksisterende poster i en tabel.
Avatar billede kedde65 Praktikant
06. september 2005 - 23:13 #3
Hej

Takker for det. Jeg havde selv været inde over pass through forespørgsler, men var uskarp på om deet virkede :.-)

Hvad angår grundlæggende SQL så kender jeg godt forskellen på SELECT INTO og INSERT INTO :D
Avatar billede claesdamlund Nybegynder
06. september 2005 - 23:16 #4
Undskyld - det regnede jeg også med, men det er så kedeligt at få gjort ved en fejl (når der ikke findes en "Undo" ;0) )
Avatar billede kedde65 Praktikant
06. september 2005 - 23:22 #5
korrekt :) Men jeg kan ikke rigtigt få den pass through til at virke... den har fået forbindelse fra SQLServeren... og jeg kan hente data, men når jeg kører en SELECT INTO * FROM .... så siger den den ikke kan finde tabellen... Dvs. den smider det hele over på SQLServeren?
Avatar billede kedde65 Praktikant
06. september 2005 - 23:24 #6
Altså hele SQLSætningen?

meningen er jo netop at den skal tage data fra Access og smide op på SQLServeren...
Avatar billede claesdamlund Nybegynder
06. september 2005 - 23:27 #7
Den smider det hele på SQL Serveren, så hvis din tabel i SELECT * INTO FROM TABEL refererer til en tabel i Access er der selvfølgelig et problem. SKAL det være en SELECT INTO - hvad med en DELETE efterfulgt af en INSERT INTO?
Avatar billede kedde65 Praktikant
07. september 2005 - 18:27 #8
Ja det skal være en Insert INTO og en linket tabel kan ikke lade sig gøre
Avatar billede terry Ekspert
07. september 2005 - 19:30 #9
INSERT INTO .... SELECT * FROM ....
Avatar billede terry Ekspert
18. september 2005 - 13:11 #10
status?
Avatar billede kedde65 Praktikant
18. september 2005 - 15:53 #11
Status er at ikke kom et brugbart svar, da linket tabeller ikke duer.

Desværre.

VH CK
Avatar billede kedde65 Praktikant
18. september 2005 - 15:53 #12
Og et svar fra mig
Avatar billede terry Ekspert
18. september 2005 - 16:37 #13
tak
You could also consider making an ADO connection and then loopin through your Access table insert each record into SQL Server.
And depending on what your trying to do you could also make a DTS package in SQL Sever which imports the records from Access. Then your can run the DTS Package when you want to import.
There are a number of solutions I'm sure.
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