Jag vill ha en Modul som laddar data med en SELECT sats från en MS SQL databas och sedan lägger in det i en tabell i Access databasen. Modulen kommer att ligga i Access databasen. Kan knappt inget VB, men om nån kan hjälpa mig vore tacksamt, eller skicka nån bra länk eller 2. Det enklaste är nog att länka SQL server tabellen i access och överföra data med en fråga. OKi, men då får jag ju köra en SELECT fråga först för att hämta allt från SQL-databasen, men sen måste jag ju lägga in allt med en INSERT också. Hur ska det gå till? Oki, men kan jag ta flera kolumner samtidigt? Har kollat upp syntaxen. Skall vara så här: Får fortfarande syntaxfel. :/ Verkar vara fel på anslutningen till SQL-databasen. (alltså anslutningen fungerar, har testat den i ASP, och VB så den är OK) Men själva: Opps. Missade INTO i alla min hast. Focuserade på IN satsen. ;o) Får fortfarande Syntax-fel.SQL -> Access
//EmilSv: SQL -> Access
Sv: SQL -> Access
Sv: SQL -> Access
INSERT Tabell_i_Access (Kolumn_i_Access)
SELECT Kolumn_i_SQLServer
FROM Tabell_i_SQLServer
Eller:
INSERT Tabell_i_Access (Kolumn_i_Access)
SELECT Kolumn_i_SQLServer
FROM Tabell_i_SQLServer IN "" [ODBC; Database=DNSNamn;] Sv: SQL -> Access
T ex:
INSERT tblData (ArtNo, Benämning, Antal kartonger, AntalPall, Hallbarhet, AEANKod)
SELECT SC01001, SC01002, SC01003, SC01018, SC01014, SC10132
FROM SC010100 IN "" [ODBC; Database=MinDNS;]
(denna fungerar ej)
Men tar jag en post i taget och kör den till access från access så fungerar det, men tar jag från SQL till Access så fungerar den inte. T ex:
INSERT tblData (ArtNo)
SELECT SC01001
FROM SC010100 IN "" [ODBC; Database=ScalaDB;]
Men denna fungerar utmärkt:
INSERT tblData (ArtNo)
SELECT ArtNo
FROM tblData
Det fel jag får är att det är ett syntax fel.
Sen så behöver jag redigera vissa värden som jag får från SQL-databasen innan de ska in i Access, t ex (7234523456 (463738293) så ska "(463738293)" bort, men ska å andra sidan plockas ut för att ligga själv i en annan kolumn och liknande saker. Antar att jag måste skriva nån sort VB-modul? VB-Script och VB som man använder i moduler, skilljer det sig mkt åt? Har skrivit en hel del VBScript i samband med ASP..Sv: SQL -> Access
INSERT tblData (ArtNo, Benämning, Antal kartonger, AntalPall, Hallbarhet, AEANKod)
SELECT SC01001, SC01002, SC01003, SC01018, SC01014, SC10132
FROM SC010100 IN "" [ODBC;DATABASE=NamnPåDatabasFrånSQLServern;UID=sa;PWD=;DSN=NamnPåDNSenFörSQLServern]
Du kan skriva en funktion som plockar ut del av ett fält och lägga in den i en modul i Access på så sätt fortfarande kunna använda en SQL-sats:
INSERT tblData (ArtNo, Benämning, Antal kartonger, AntalPall, Hallbarhet, AEANKod)
SELECT SC01001, MinFunktion(SC01002), SC01003, SC01018, SC01014, SC10132
FROM SC010100 IN "" [ODBC;DATABASE=NamnPåDatabasFrånSQLServern;UID=sa;PWD=;DSN=NamnPåDNSenFörSQLServern]Sv: SQL -> Access
INSERT tblData (ArtNo, Benämning, Antal kartonger, AntalPall, Hallbarhet, Extrakod)
SELECT SC01001, SC01002, SC01003, SC01018, SC01014, SC10132
FROM SC010100 IN "" [ODBC;DATABASE=ScalaDB;UID=mittIUD;PWD=mittPWD;DSN=ScalaDB]
När jag testade med en post från access till access fick jag lov att lägga till INSERT INTO annars fungerade det inte, men testade det nu och det blir ingen skillnad.Sv: SQL -> Access
FROM SC010100 IN "" [ODBC;DATABASE=ScalaDB;UID=mittIUD;PWD=mittPWD;DSN=ScalaDB]
Verkar vara galet, för är när den kommer med som allt blir fel. (syntax fel)
Nån som vet???Sv: SQL -> Access
INSERT INTO tblData (ArtNo, Benämning, Antal kartonger, AntalPall, Hallbarhet, Extrakod)
SELECT SC01001, SC01002, SC01003, SC01018, SC01014, SC10132
FROM SC010100 IN "" [ODBC;DATABASE=ScalaDB;UID=mittIUD;PWD=mittPWD;DSN=ScalaDB] Sv: SQL -> Access
Verkar som det är nåt med sjävla anslutningen till databasen. För byter jag ut ODBC kopplingen mot access databasen så fungerar det direkt.
Alltså hämtar från den accessdatabas jag är i och skriver till densamma.