27. januar 2002 - 20:07Der er
16 kommentarer og 1 løsning
Hente data fra database
Jeg har en tabel som hedder varer. I denne tabel er det flg felter: varenr, varebeskrivelse, anvendelse, mål, antal, billede. Jeg har så en form hvor der vises alle de varer som findes, men kun nogle af oplysningerne om de enkelte varer er oplyst på denne form. Jeg har så tænkt mig at lave en ekstra form hvor alle oplysningerne om den enkelte varer vises. Det unikke ved hver vare er dets varenr. Derfor her jeg tænkt på nget med WHERE, men jeg kan ikke få det til at fungere.
jeg kan ikke få det til at virke. Her er den kode jeg forsøger mig med: Private Sub Command1_Click() Dim dbs As Database, rst As Recordset Set dbs = OpenDatabase("c:\hej.mdb") Set rst = dbs.OpenRecordset("SELECT antal FROM varer " & "WHERE varenr = & text1(0).Text") text1(1).text = rst("antal") End Sub
Set rst = dbs.OpenRecordset("SELECT antal FROM varer WHERE varenr = " & text1(0).Text )
If your varenr is a TEXT field then use Set rst = dbs.OpenRecordset("SELECT antal FROM varer WHERE varenr = '" & text1(0).Text & "'" )
In your question you say you want to show all fields (hvor alle oplysningerne ...) So you must use SELECT * SELECT antal only gives you the contents of antal.
Det virker stadig ikke. dimles svar giver en fejl med et eller ande med at der er for få parameter, og at den havde forventet 1. terrys svar kan jeg slet ikke få til at fungere, den siger allerede fejl efter jeg flytter markøren fra linien. det kan godt være det er mig der klokker i der ;-)
den kommer stadig med samme fejl: "to few arguments. expectet 1." Der er vel ikke en som gider sende et lille program som kan det til. email: post@fjenneslevautovaerksted.dk
sending you a "lille program" will NOT help much, it is your program which is the problem! You can sen dit to terry@santhell.dk and I will take a look this evening. Include a refrenece to this queistion so that I know where the mail is from and also which forms to look at
dimle>I am sure that your example works in YOUR program but it doesnt seem to work in Whistlers! does he have a field text1(0).Text? if not thenhe is goingto get an error. Your example is no different from Set rst = dbs.OpenRecordset("SELECT antal FROM varer WHERE varenr = " & Me.TheField ) other than the Me.field bit, but if Whistlers doesnt understand what we are trying to tell him then we have a problem!
Whistler> har du en textbox der har navnet Text1 og index værdien 0??? Selvom du ikke har det skulle det alligevel ikke give nogen fejl med det samme du forlader linien!!!
ja det skulle jeg mene. terry>> Jeg sender en kopi af programmet. Her hedder tekstboksen som varenr står i bare tekst1, men det finder du jo nok ud af.
hi! its on the way back! dimple> No the SQL (VB) isnt different from ours, but as I suspected it where it is to be used! IE he has a form where he finds a "varenr" an dthen when he presses a button another form is to open and show ALL information on the specific varenr. So YES the VB is the same as ours but it still wouldnt help to get the data in th other form. I have corrected the SQL to soemthing like Set rst = dbs.OpenRecordset("SELECT antal FROM varer WHERE varenr = '" me.txtfield & "'" ) and move rst and the dbs objects to a module so that they are public an dteh other form can get at its data. It could be done inmany other ways but this just keeps it very simple.
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.