SQL String copy naar tabel

Status
Niet open voor verdere reacties.

RonaldRoenhorst

Gebruiker
Lid geworden
25 dec 2008
Berichten
188
Ik wil een string kopieren naar een lokale tabel.

de string ziet er als volgt uit:
strOrders = "SELECT * FROM (qry_WeeklyPlanTotal) WHERE Weeknumber = " & kzl_WeeklyPlanTotalWeeknumber & ""

de lokale tabel heet OrdersAct.
 
Ik snap niet helemaal wat je bedoelt met “ een string kopieren naar een lokale tabel”. Kwestie van de tabelnaam erin plakken, toch? Leg de situatie eens uit, dat is wellicht duidelijker.
 
Ik snap niet helemaal wat je bedoelt met “ een string kopieren naar een lokale tabel”. Kwestie van de tabelnaam erin plakken, toch? Leg de situatie eens uit, dat is wellicht duidelijker.

Ik haal de gegevens op vanuit een externe DB met de volgende regel:
strOrders = "SELECT * FROM (qry_WeeklyPlanTotal) WHERE Weeknumber = " & kzl_WeeklyPlanTotalWeeknumber & ""

dit gebruik ik dan als mij recordset maar wil de gegevens tevens in een lokale tabel plakken en dat lukt mij niet.
 
Uit je eerdere vraag begrijp ik dat je de query vermoedelijk baseert op een formulier. Wat ik meestal doe in dit soort gevallen: ik zet de uitkomst van de query eerst in een inputbox, zodat je de query kan kopiëren.
Code:
 strOrders = Inputbox("",""," SELECT * FROM (qry_WeeklyPlanTotal) WHERE Weeknumber = " & kzl_WeeklyPlanTotalWeeknumber)
De gekopieerde tekst plak je in een nieuwe query. Vervolgens maak je van de query een Toevoeg query met de tabel OrdersAct (je wilt immers de resultaten kopiëren, niet de string) en als de gegevens correct zijn, en de velden kloppen (gaat uiteraard nooit werken als je met * werkt; je zult echte veldnamen in de query moeten gebruiken) dan kopieer je de SQL van de query terug naar je VBA code. Dan vermoedelijk nog een klein beetje aanpassen (dubbele quoots verdubbelen bijvoorbeeld) en je bent klaar.
 
Wat denk je trouwens dat dit: & "" doet? Ik verklap het antwoord al vast: helemaal niks :))
 
Uit je eerdere vraag begrijp ik dat je de query vermoedelijk baseert op een formulier. Wat ik meestal doe in dit soort gevallen: ik zet de uitkomst van de query eerst in een inputbox, zodat je de query kan kopiëren.
Code:
 strOrders = Inputbox("",""," SELECT * FROM (qry_WeeklyPlanTotal) WHERE Weeknumber = " & kzl_WeeklyPlanTotalWeeknumber)
De gekopieerde tekst plak je in een nieuwe query. Vervolgens maak je van de query een Toevoeg query met de tabel OrdersAct (je wilt immers de resultaten kopiëren, niet de string) en als de gegevens correct zijn, en de velden kloppen (gaat uiteraard nooit werken als je met * werkt; je zult echte veldnamen in de query moeten gebruiken) dan kopieer je de SQL van de query terug naar je VBA code. Dan vermoedelijk nog een klein beetje aanpassen (dubbele quoots verdubbelen bijvoorbeeld) en je bent klaar.

Hier ga ik mar eens mee an de slag, bedankt zover voor de hulp.
 
Uit je eerdere vraag begrijp ik dat je de query vermoedelijk baseert op een formulier. Wat ik meestal doe in dit soort gevallen: ik zet de uitkomst van de query eerst in een inputbox, zodat je de query kan kopiëren.
Code:
 strOrders = Inputbox("",""," SELECT * FROM (qry_WeeklyPlanTotal) WHERE Weeknumber = " & kzl_WeeklyPlanTotalWeeknumber)
De gekopieerde tekst plak je in een nieuwe query. Vervolgens maak je van de query een Toevoeg query met de tabel OrdersAct (je wilt immers de resultaten kopiëren, niet de string) en als de gegevens correct zijn, en de velden kloppen (gaat uiteraard nooit werken als je met * werkt; je zult echte veldnamen in de query moeten gebruiken) dan kopieer je de SQL van de query terug naar je VBA code. Dan vermoedelijk nog een klein beetje aanpassen (dubbele quoots verdubbelen bijvoorbeeld) en je bent klaar.

Helaas kom ik er nog steeds niet verder mee...
Het formulier welke ik gebruik word gevuld met de string: strOrders = "SELECT * FROM (qry_WeeklyPlanTotal) WHERE Weeknumber = " & kzl_WeeklyPlanTotalWeeknumber & ""
Uiteindelijk heb ik dus alleen een formulier in mijn DB met de gegevens.
 
Een formulier heeft zelf geen gegevens, tenzij het een virtuele tabel is. Maar je geeft zelf aan dat dat niet het geval is. Heb je wel geprobeerd wat ik voorstelde? Zo ja: hoe ziet de toevoegquery er dan in SQL uit?
 
Overigens is één keer een compleet bericht quoten al niet geweldig, maar twee keer? Niet meer doen graag!
 
Zal niet meer zoveel Quoten :thumb:

Nu ben ik zelf zover gekomen:

HTML:
yy = "SELECT tblOrders.YearID, tblOrders.WeekID, tblOrders.CustomerID FROM tblOrders;"
Set rsx = db.OpenRecordset(yy, dbOpenDynaset, dbSeeChanges)

xx = "INSERT INTO tblOrders ( YearID, WeekID, CustomerID) Values ( '" & rsx & "')   ;"

DoCmd.RunSQL xx

Nu loop ik vast op de melding typen komen niet met elkaar overeen
 
Je wil drie velden vullen, maar je geeft maar één veldwaarde mee. Dat niet alleen: je wilt zo te zien getallen toevoegen, maar je gebruikt die ene waarde als tekst. Gaat natuurlijk altijd fout!
 
Kan ik uit het feit dat je HTML code gebruikt de conclusie trekken dat je vanuit een webtoepassing een access database wil opvullen? Misschien kan je eens kort uitleggen hoe je applicatie werkt : waar worden de gegevens ingevuld en wat wil je precies doen. Het is moeilijk te helpen als je de precieze situatie niet kent.
 
Kan ik uit het feit dat je HTML code gebruikt de conclusie trekken dat je vanuit een webtoepassing een access database wil opvullen?
Dát lijkt mij een hele sterke conclusie. Vooral omdat de HTML knop maar twee mm naast de CODE knop zit en de Query alle kenmerken van een Access query heeft :).
 
als het zuiver SQL is, lukt het dan niet met de query :

Code:
INSERT INTO tblOrders ( YearID, WeekID, CustomerID) 
SELECT [NameYearField], [NameWeekField], [Name CustIDField] FROM (qry_WeeklyPlanTotal) WHERE Weeknumber = " & kzl_WeeklyPlanTotalWeeknumber

De veldnamen natuurlijk vervangen door de correcte namen zoals ze in je query bestaan
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan