/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
For få parametre. Der var ventet 1
Fra : Per Juul Larsen


Dato : 26-10-01 20:49

ak for svaret...
her er en stum kode som giver mig en fejlmeddelelse :
"der var for få parametre. Der var ventet 1."
(er det en fejlmeddelelse fra databasen mon?)


sub ...

Dim dbs As Database
Dim qdf As QueryDef
Label1.Caption = "Test"
Label2.Caption = "202903"

Set dbs = OpenDatabase("D:\xxx.mdb")


dbs.Execute "UPDATE info " _
& "SET parama = " + Label1.Caption _
& " WHERE paramb = " + Label2.Caption

dbs.Close

hvad gør jeg galt.. Databasen er Access med indexfelterne.
Ønsker at udskifte alle parama med Label1.caption såfremt paramb er =
med Label2.Caption

hilsen pjl


 
 
Jens Vestergaard (26-10-2001)
Kommentar
Fra : Jens Vestergaard


Dato : 26-10-01 21:00

"Per Juul Larsen" <fam.pjlarsen@get2net.dk> skrev i en meddelelse
news:3BD9BE36.1525A7F0@get2net.dk...
> ak for svaret...
> her er en stum kode som giver mig en fejlmeddelelse :
> "der var for få parametre. Der var ventet 1."
> (er det en fejlmeddelelse fra databasen mon?)
>
[snip]

> dbs.Execute "UPDATE info " _
> & "SET parama = " + Label1.Caption _
> & " WHERE paramb = " + Label2.Caption
>

Prøv med enkelte citationstegn om strengene...:

dbs.Execute "UPDATE info SET parama = '" & Label1.Caption & "' WHERE
paramb = '" & Label2.Caption & "'"


--
mvh
Jens Vestergaard
www.railsoft.dk




Per Juul Larsen (26-10-2001)
Kommentar
Fra : Per Juul Larsen


Dato : 26-10-01 21:14

Og det virker !

det har taget meget en del tid at greje den. Tak for hjælpen !!

hilsen Per

Jens Vestergaard wrote:

> "Per Juul Larsen" <fam.pjlarsen@get2net.dk> skrev i en meddelelse
> news:3BD9BE36.1525A7F0@get2net.dk...
> > ak for svaret...
> > her er en stum kode som giver mig en fejlmeddelelse :
> > "der var for få parametre. Der var ventet 1."
> > (er det en fejlmeddelelse fra databasen mon?)
> >
> [snip]
>
> > dbs.Execute "UPDATE info " _
> > & "SET parama = " + Label1.Caption _
> > & " WHERE paramb = " + Label2.Caption
> >
>
> Prøv med enkelte citationstegn om strengene...:
>
> dbs.Execute "UPDATE info SET parama = '" & Label1.Caption & "' WHERE
> paramb = '" & Label2.Caption & "'"
>
> --
> mvh
> Jens Vestergaard
> www.railsoft.dk


Helge Bjørkhaug (26-10-2001)
Kommentar
Fra : Helge Bjørkhaug


Dato : 26-10-01 21:14

On Fri, 26 Oct 2001 22:00:22 +0200, "Jens Vestergaard" <j@railsoft.dk>
wrote:

>"Per Juul Larsen" <fam.pjlarsen@get2net.dk> skrev i en meddelelse
>news:3BD9BE36.1525A7F0@get2net.dk...
>> ak for svaret...
>> her er en stum kode som giver mig en fejlmeddelelse :
>> "der var for få parametre. Der var ventet 1."
>> (er det en fejlmeddelelse fra databasen mon?)
>>
>[snip]
>
>> dbs.Execute "UPDATE info " _
>> & "SET parama = " + Label1.Caption _
>> & " WHERE paramb = " + Label2.Caption
>>
>
>Prøv med enkelte citationstegn om strengene...:
>
> dbs.Execute "UPDATE info SET parama = '" & Label1.Caption & "' WHERE
>paramb = '" & Label2.Caption & "'"

Når man skal bruke SQL kommandoene UPDATE og INSERT, er det å sjekke
type felter man skal henvise til i databasen, den første man må gjøre.
Tekstfelter skal omsluttes av enkelte citationstegn, som Jens påpeker,
tallfelt skal det ikke.
Ved UPDATE må man vite felttype for felt som brukes i SET og WHERE
statementet, ved INSERT INTO feltene som brukes i VALUES og WHERE.
Bruk gjerne analyse verktøyet i Access for å dokumentere tabell(ene) i
databasen (Verktøy -> Analyser -> Dokumentasjon) før man begynner med
å bygge opp SQL strengene.

--
Snutten
Fjern helge fra mail adressen før du svarer.

Tomas Christiansen (26-10-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 26-10-01 22:44

Per Juul Larsen skrev:
> dbs.Execute "UPDATE info " _
> & "SET parama = " + Label1.Caption _
> & " WHERE paramb = " + Label2.Caption

Lige en lille sidebemærkning: Pas på med at forsøge at sammenlægge
strenge ved brug af + tegnet.

Hvis ikke du har 100% styr på dine variabeltyper og konvertering af
ikke-strengtyper til strenge på baggrund af indholdet af variablerne,
kan du risikere at VB begynder at foretage numeriske additioner i
stedet for 'streng konkateneringer'.

Med andre ord: Brug altid & og ikke +.

Hvis du ikke tror mig, så prøv følgende kode - men prøv lige først at
forudsige hvad der bliver vist i de to MsgBox'e!

Dim s As String
Dim t As Long
s = "2"
t = 3
MsgBox s + s + t
MsgBox t + s + s

-------
Tomas


Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408887
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste