09. januar 2011 - 18:23Der er
10 kommentarer og 1 løsning
Problemer med sql-sætning i VBA Excel
Jeg skal have lavet en sætning, som vælger alle "linjer" i en database, som har samme værdig i rækken "Kunder", som den værdi jeg skriver i textbox2. Pt ser mine kode sådan her ud:
Set rsFaktura = db.OpenRecordset("SELECT * FROM Faktura WHERE Kunde = UserForm2.TextBox2.Text")
Når jeg så skriver et navn, som jeg VED findes i databasen, får jeg følgende fejl: Run-time error '3061': Der er for få parametre. Der var ventet 1.
Jeg skal lave samme søgning, bare på en dato. Jeg skriver stadigvæk i textbox2, men jeg skal nu have koden til at finde indlæg, hvor datoen i feltet "BetalingsDato" er før den dato jeg har indskrevet, men samtidig skal datoen i feltet "FakturaDato" også være lavere end den dato jeg har skrevet i textbox2. Altså hvis jeg søger på 12-12-2010, skal den give mig alle faktura, som er oprettet før d. 12-12, men som først er betalt efter den dato. Håber det er til at forstår.
I den 3. søgning skal jeg have den til at vise alle indlæg, hvor feltet "Betalt" = 0. Det kan jeg heller ikke lige få til at virke.
de to Dato-felter er i formatet "Dato" i access, mens feltet "Betalt" er som tal.
Det er for at "escape" sætningen. det vil sige at hvis nu faktisk havde en kunder der hed teksten "UserForm2.TextBox2.Text" så skulle du gøre som du først gjorde. Hvis du derimod vil referere til variablen UserForm2.TextBox2.Text så skal du gøre som jeg skrev. så sætningen, faktisk kommer til at bestå at først en sætning, så en variabel og så en sætning igen. forstå du hvad jeg mener?
Jo, det forstår jeg godt. Så var det også derfor den ikke kom frem med property listen, når jeg skrev textbox2. :) Men den der med at søge på flere ting, i flere celler, det kan jeg ikke helt få til at virke.
If UserForm2.CheckBox2.Value = True Then Dato = UserForm2.TextBox2.Text
If Dato <> "" Then Dato1 = Dato & " 00:00" End If
Ark1.Cells(1, 15) = Dato1 Set rsFaktura = db.OpenRecordset("Select * from Faktura where BetalingsDato > '" & Dato1 & "' and FakturaDato < '" & Dato1 & "' or Betalt = 0") End If
sådan ser det ud lige nu, men jeg får hele tiden fejlen: Datatypen stemmer ikke overens i kriterieudtrykket.
Jeg venter lige et par dage, og ser om du skriver et svar.
Synes godt om
Ny brugerNybegynder
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.