/ Forside/ Teknologi / Udvikling / VB/Basic / Spørgsmål
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
Problemer med opdatering af access DB
Fra : mabo
Vist : 602 gange
50 point
Dato : 03-03-02 23:31

Jeg har siddet i en del tid nu og prøvet på at lave en funktion der opdaterer en tabel med data gemt i variable.

Men jeg får fejlen; at der er for få parametre - forventet 1

Koden:
Option Compare Database
Dim buttonNumber As String
Dim layoutNo As String
Dim funcnumber As String
Dim codenumber As String
Dim namec As String
Option Explicit

Private Sub Form_Close()

buttonNumber = Form_Terminal2.buttonlabel.Caption
layoutNo = Form_Terminal2.layoutNo
Form_Function.function.SetFocus
funcnumber = Form_Function.function.Column(0)
Form_Function.code.SetFocus
codenumber = Form_Function.code.Column(0)
namec = namechoise


CurrentDb.Execute ("UPDATE '" & buttonNumber & "' SET FunctionNo = " & funcnumber & " , ReasonNumber =" & codenumber & " where LayoutNo = " & layoutNo & ";")
End Sub

Er der en der kan se fejlen for mig?

 
 
Kommentar
Fra : Nyhedsbruger


Dato : 04-03-02 18:21

Det er ikke nemt at svare på uden at have databasen, men normalt betyder
det, at SQL-sætningen er illegal. Typisk reference til et ikke eksisterende
felt i basen.

Prøv at debugge gennem koden (F8 i stedet for F5), så kan du på rette sted
'klippe' SQL-sætningen og prøve at aktivere den direkte i Access og se, om
den syntaksmæssigt hænger sammen.virker..

mvh
Krabsen

"mabo" <mabo.news@kandu.dk> skrev i en meddelelse
news:4lxg8.14527$PE.1142115@news000.worldonline.dk...
> Jeg har siddet i en del tid nu og prøvet på at lave en funktion der
> opdaterer en tabel med data gemt i variable.
>
> Men jeg får fejlen; at der er for få parametre - forventet 1
>
> Koden:
> Option Compare Database
> Dim buttonNumber As String
> Dim layoutNo As String
> Dim funcnumber As String
> Dim codenumber As String
> Dim namec As String
> Option Explicit
>
> Private Sub Form_Close()
>
> buttonNumber = Form_Terminal2.buttonlabel.Caption
> layoutNo = Form_Terminal2.layoutNo
> Form_Function.function.SetFocus
> funcnumber = Form_Function.function.Column(0)
> Form_Function.code.SetFocus
> codenumber = Form_Function.code.Column(0)
> namec = namechoise
>
>
> CurrentDb.Execute ("UPDATE '" & buttonNumber & "' SET FunctionNo = " &
> funcnumber & " , ReasonNumber =" & codenumber & " where LayoutNo = " &
> layoutNo & ";")
> End Sub
>
> Er der en der kan se fejlen for mig?
>
> --
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>



Kommentar
Fra : Nyhedsbruger


Dato : 04-03-02 22:41

mabo skrev:
> CurrentDb.Execute ("UPDATE '" & buttonNumber & "' SET FunctionNo =
" &
> funcnumber & " , ReasonNumber =" & codenumber & " where LayoutNo =
" &
> layoutNo & ";")

Hvis værdien af buttonNumber f.eks. er "B1", har du så et felt i din
database som hedder:

'B1'
OBS: INKLUSIVE apostrofferne?

Et lille hint: Dan altid din forespøgsel i en streng-variabel og udfør
indholdet af denne, f.eks. således:

sSQL = "UPDATE xxx SET yyy= WHERE a=b"
CurrentDb.Execute sSQL

(Bemærk at her er ikke apostroffer om feltnavnet xxx.)

Så kan du altid indsætte en linie mellem de to:

Debug.Print sSQL

hvis du vil se hvad der bliver "kastet" efter databasen.

-------
Tomas


Kommentar
Fra : Nyhedsbruger


Dato : 05-03-02 15:22

Det er rigtigt set, tabellen skal ikke have apostroffer, det er kun værdier
af typen tekst streng, der skal have apostroffer.

Mvh. Rayman

"Tomas Christiansen" <toc@blikroer.removethis.dk> wrote in message
news:a60pl1$2rqp$1@news.cybercity.dk...
> mabo skrev:
> > CurrentDb.Execute ("UPDATE '" & buttonNumber & "' SET FunctionNo =
> " &
> > funcnumber & " , ReasonNumber =" & codenumber & " where LayoutNo =
> " &
> > layoutNo & ";")
>
> Hvis værdien af buttonNumber f.eks. er "B1", har du så et felt i din
> database som hedder:
>
> 'B1'
> OBS: INKLUSIVE apostrofferne?
>
> Et lille hint: Dan altid din forespøgsel i en streng-variabel og udfør
> indholdet af denne, f.eks. således:
>
> sSQL = "UPDATE xxx SET yyy= WHERE a=b"
> CurrentDb.Execute sSQL
>
> (Bemærk at her er ikke apostroffer om feltnavnet xxx.)
>
> Så kan du altid indsætte en linie mellem de to:
>
> Debug.Print sSQL
>
> hvis du vil se hvad der bliver "kastet" efter databasen.
>
> -------
> Tomas
>



Accepteret svar
Fra : Arnvig

Modtaget 50 point
Dato : 03-07-02 16:00

Fejlen ligger her :
CurrentDb.Execute ("UPDATE '" & buttonNumber & "' SET FunctionNo = " & funcnumber & " , ReasonNumber =" & codenumber & " where LayoutNo = " & layoutNo & ";")

"ButtonNumber" er tabelnavnet, det skal ikke i apostroffer.

dit SQL skal se således ud:
CurrentDb.Execute ("UPDATE " & buttonNumber & " SET FunctionNo = " & funcnumber & " , ReasonNumber =" & codenumber & " where LayoutNo = " & layoutNo & ";")


Søren Arnvig

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste