Avatar billede mvhansen Nybegynder
07. december 2005 - 00:26 Der er 35 kommentarer og
1 løsning

Hvad Petyder

Hej eksperter

Hvad Petyder  (& ",'" &)


Er der en der kan fortælle mig hvad der er fejl i denne kode. jeg tror det er noget med det her at gøre, (& ",'" &)
Hvad står det for. ( er der en der kan forklare mig hvad det petyder)

der er en fejl i denne kode.

Private Sub Insert_Click()
    FileName = "F:\Michael\Visual Basic\Teccon Projekt Liste\db\Teccon.mdb"
    Set MyDb = DBEngine.Workspaces(0).OpenDatabase(FileName)
    SQLQuery = "INSERT INTO Teccon_Form VALUES ("
    SQLQuery = SQLQuery & Kunde.Text
    SQLQuery = SQLQuery & ",'" & Dato.Text & "'"
    SQLQuery = SQLQuery & ",'" & Projektnr.Text & "'"
    SQLQuery = SQLQuery & "," & Ordrenr.Text
    SQLQuery = SQLQuery & ",'" & Beskrivelse.Text & "'"
    SQLQuery = SQLQuery & ",'" & Projekt_opretter.Text & "')"
    MyDb.Execute SQLQuery
    MyDb.Close
   
End Sub

den melder Run-time error *424*:
Object required

mvh
mvhansen
Avatar billede sjh Nybegynder
07. december 2005 - 00:32 #1
her : SQLQuery & "," & Ordrenr.Text <- Mangler & "'"

    SQLQuery = "INSERT INTO Teccon_Form VALUES ("
    SQLQuery = SQLQuery & Kunde.Text
    SQLQuery = SQLQuery & ",'" & Dato.Text & "'"
    SQLQuery = SQLQuery & ",'" & Projektnr.Text & "'"
    SQLQuery = SQLQuery & "," & Ordrenr.Text & "'"
    SQLQuery = SQLQuery & ",'" & Beskrivelse.Text & "'"
    SQLQuery = SQLQuery & ",'" & Projekt_opretter.Text & "')"
Avatar billede sjh Nybegynder
07. december 2005 - 00:33 #2
nej det er ikke det.. den er god nok.. hvad linje for du fejl i (kode tekst)
Avatar billede mvhansen Nybegynder
07. december 2005 - 00:37 #3
SQLQuery = SQLQuery & Kunde.Text
Avatar billede sjh Nybegynder
07. december 2005 - 00:40 #4
Har du en tekstboks som hedder Kunde ?
Avatar billede sjh Nybegynder
07. december 2005 - 00:44 #5
du skal jo ha alle de TextBox på din Form -> Kunde.Text , Dato.Text , Projektnr.Text , Ordrenr.Text , Beskrivelse.Text og Projekt_opretter.Text
Avatar billede sjh Nybegynder
07. december 2005 - 00:48 #6
Er det noget du har Copy/Paste ? så skal du jo ikke regne med at det hele passer til din database..

SQLQuery er jo din SQL-String og den kan jo se forskellige ud alt efter hvordan man har opbygget sin database
Avatar billede mvhansen Nybegynder
07. december 2005 - 00:50 #7
Det har jeg nu
men nu melder den
Der er for få parameter. der var ventet 1.

mvh
mvhansen
Avatar billede mvhansen Nybegynder
07. december 2005 - 00:51 #8
Ja jeg har Copy/Paste
Avatar billede sjh Nybegynder
07. december 2005 - 00:57 #9
Ja når du har Copy/Paste så passer det nok ikke til din database (Teccon.mdb)

Det kan skyles at data-typer ikke passer sammen.. fx. Ordrenr.Text SKAL være et tal hvis det skal passe til det som kommer ud af SQLQuery eller vil den brokke sig.
Avatar billede mvhansen Nybegynder
07. december 2005 - 01:03 #10
sjh jeg smutte jeg skal op kl 06.00
jeg prøver imorgen igen
tak for hjælpen indtil vider

mvh
mvhansen
Avatar billede dragonknight Juniormester
07. december 2005 - 01:42 #11
Hvis Kunde.Text er et tal i databasen, så skal der er & i enden.

SQLQuery = SQLQuery & Kunde.Text & "'"
Avatar billede mvhansen Nybegynder
07. december 2005 - 20:20 #12
Hej Sjh

Jeg har prøvet mig frem og kommen til resultat


Private Sub Insert_Click()
    FileName = "F:\Michael\Visual Basic\Teccon_Projekt_Liste\db\Teccon.mdb"
    Set MyDb = DBEngine.Workspaces(0).OpenDatabase(FileName)
    SQLQuery = "INSERT INTO Teccon VALUES ("
    SQLQuery = SQLQuery & Dato.Text
    SQLQuery = SQLQuery & ",'" & Kunde.Text & "'"
    SQLQuery = SQLQuery & "," & Projektnr.Text
    SQLQuery = SQLQuery & "," & Ordrenr.Text
    SQLQuery = SQLQuery & ",'" & Beskrivelse.Text & "'"
    SQLQuery = SQLQuery & ",'" & Projekt_opretter.Text & "')"
    MyDb.Execute SQLQuery
    MyDb.Close
   
End Sub

Der skal ikke stå noget bag efter

Projektnr.Text
Ordrenr.Text

men den skriver ikke den rigtig dato i databasen jeg har sat den til dato-tid
og skriver sårdan 07-12-2005 i texboksen
den skriver 30-06-1894
vær gang jeg skriver dato ind i databaseb

mvh
mvhansen
Avatar billede mvhansen Nybegynder
07. december 2005 - 22:25 #13
Hej Sjh

Jeg lukker Dette spørsmål og opretter et ny
med søge og slette i database
Jeg har ingen id i min tabel i database
men kan jeg ikke bruge

Ordrenr eller Projektnr
der er ikke nogle der er ens

lig lige et svar så du kan få nogle point

mvh
mvhansen
Avatar billede sjh Nybegynder
07. december 2005 - 22:30 #14
det var måske bedre at du så lidt på denne tutorial om database.. den er godt nok til ASP men det er faktis det samme som i vb..
http://www.html.dk/tutorials/asp/lektion17.asp
Avatar billede sjh Nybegynder
07. december 2005 - 22:32 #15
der skal bare ikke stå Server. forand CreateObject og så virker Response.Write ikke i vb.. brug da fx. Print rs("Fornavn") eller smid det i en ListBox
Avatar billede mvhansen Nybegynder
07. december 2005 - 22:37 #16
Du skrev at man skal have en id i sin database før at kunde søge og slette
eller har jeg misforstået dig

mvh
mvhansen
Avatar billede sjh Nybegynder
07. december 2005 - 22:45 #17
na.. det er vel ikke noget man SKAL men det er en god ide.. det skal jo bruges til unik ID.. så kan du bare skrive "DELETE FROM table WHERE ID = 100" så er du 100% sikker på at du kun sletter den post..

ellers kan du jo komme til at slette flere poster i din database.. fx. "DELETE FROM table WHERE Fornavn = 'Morten'" så vil den slette ALLE dem hvor der står "morten" ikke så smart ;)
Avatar billede sjh Nybegynder
07. december 2005 - 22:46 #18
Avatar billede mvhansen Nybegynder
07. december 2005 - 22:51 #19
Hvis jeg laver en id i min database skal jeg til at indtaste id nr vær gang jeg skriver i databasen og så kan man ikke huske hvad id nr man er kommen til

hvis du har 5 kolonder i din database skal du skrive til dem alle
ikke

mvh
mvhansen
Avatar billede sjh Nybegynder
07. december 2005 - 22:57 #20
det skal være af type autonummereringsfelt.. så laver den selv det næste unikke ID.. men det skulle du ha lavet før du begynde at smide data ind.. (mener ikke det kan settes på bagefter.. Jeg setter den altid på fra starten)
Avatar billede mvhansen Nybegynder
07. december 2005 - 23:02 #21
Så vil den skrive at de antal felter der er i databasen ikke passer med de antal man prøver at sætte ind

kan man lave en ny database og lave det i den
Avatar billede mvhansen Nybegynder
07. december 2005 - 23:12 #22
skal koden se sådan ud
du må undskylle vis jeg spøger dum

Private Sub Insert_Click()
    FileName = "F:\Michael\Visual Basic\Teccon_Projekt_Liste\db\Teccon.mdb"
    Set MyDb = DBEngine.Workspaces(0).OpenDatabase(FileName)
    SQLQuery = "INSERT INTO Teccon VALUES ("
    SQLQuery = SQLQuery & Id.Text
    SQLQuery = SQLQuery & Dato.Text
    SQLQuery = SQLQuery & ",'" & Kunde.Text & "'"
    SQLQuery = SQLQuery & "," & Projektnr.Text
    SQLQuery = SQLQuery & "," & Ordrenr.Text
    SQLQuery = SQLQuery & ",'" & Beskrivelse.Text & "'"
    SQLQuery = SQLQuery & ",'" & Projekt_opretter.Text & "')"
    MyDb.Execute SQLQuery
    MyDb.Close
   
End Sub
Avatar billede sjh Nybegynder
07. december 2005 - 23:23 #23
nej du skal ikke skrive ID value når du skal indsætte data.. det skal den nok selv klare hvis ellers det er autonummereringsfelt..
Avatar billede mvhansen Nybegynder
07. december 2005 - 23:29 #24
Den melder fejl

Run-time error *3346*:
Antallet af Forespørgselsværdier og destinatyionsfelter er ikke det samme.
Avatar billede sjh Nybegynder
07. december 2005 - 23:33 #25
Når.. se nu her : http://www.html.dk/tutorials/asp/lektion20.asp

INSERT INTO Teccon (HER MANGLER DU DINE, kolonne1, kolonne2, ...) VALUES(...

Insert into tabelnavn (kolonne1, kolonne2, ...) values(værdi1, værdi2, ...)
Avatar billede mvhansen Nybegynder
07. december 2005 - 23:48 #26
Det ser meget fint ud men kan jeg bruge de textboxer jeg har på min form
og skal det se sådan ud


Private Sub Insert_Click()
    FileName = "F:\Michael\Visual Basic\Teccon_Projekt_Liste\db\Teccon.mdb"
    Set MyDb = DBEngine.Workspaces(0).OpenDatabase(FileName)
    strSQL = "Insert into personer ("

strSQL = strSQL & "Dato, "
strSQL = strSQL & "Kunde, "
strSQL = strSQL & "Projektnr, "
strSQL = strSQL & "Ordrenr, "
strSQL = strSQL & "Beskrivelse, "
strSQL = strSQL & "ojekt_opretter) "
   
End Sub
Avatar billede sjh Nybegynder
08. december 2005 - 00:00 #27
nej du skal bruge det HELE ikke kun noget af det

strSQL = "Insert into personer ("

' --- DEM HER SKAL VÆRE DE SAMME SOM I DIN DATABASE ---
' og du skal nok tilføje nogle flere kolonne1 Herunder..
strSQL = strSQL & "Fornavn, "
strSQL = strSQL & "Efternavn, "
strSQL = strSQL & "Telefon, "
strSQL = strSQL & "Foedselsdato) "
' --- DEM HER SKAL VÆRE DE SAMME SOM I DIN DATABASE ---

strSQL = strSQL & "values( "

strSQL = strSQL & Dato.Text
strSQL = strSQL & ",'" & Kunde.Text & "'"
strSQL = strSQL & "," & Projektnr.Text
strSQL = strSQL & "," & Ordrenr.Text
strSQL = strSQL & ",'" & Beskrivelse.Text & "'"
strSQL = strSQL & ",'" & Projekt_opretter.Text & "')"
Avatar billede mvhansen Nybegynder
08. december 2005 - 00:30 #28
Hej Sjh

Du må undskylle at jeg er så fatsvag men koden mellder fejl igen

Der er en syntaksfejl i INSERT INTO-SÆTNINGEN



Private Sub Insert_Click()
    FileName = "F:\Michael\Visual Basic\Teccon_Projekt_Liste\db\Teccon.mdb"
    Set MyDb = DBEngine.Workspaces(0).OpenDatabase(FileName)
    SQLQuery = "INSERT INTO Teccon ("
    strSQL = strSQL & "ID, "
    strSQL = strSQL & "Dato, "
    strSQL = strSQL & "Kunde, "
    strSQL = strSQL & "Projektnr, "
    strSQL = strSQL & "Ordrenr, "
    strSQL = strSQL & "Beskrivelse, "
    strSQL = strSQL & "Projekt_opretter) "


    strSQL = strSQL & "values( "
   
    SQLQuery = SQLQuery & Dato.Text
    SQLQuery = SQLQuery & ",'" & Kunde.Text & "'"
    SQLQuery = SQLQuery & "," & Projektnr.Text
    SQLQuery = SQLQuery & "," & Ordrenr.Text
    SQLQuery = SQLQuery & ",'" & Beskrivelse.Text & "'"
    SQLQuery = SQLQuery & ",'" & Projekt_opretter.Text & "')"
    MyDb.Execute SQLQuery
    MyDb.Close

   
End Sub
Avatar billede sjh Nybegynder
08. december 2005 - 00:35 #29
Se lige på dem her.. de hedder jo ikke det samme vel.. og derfor vil du kun få det som står i "SQLQuery" (MyDb.Execute SQLQuery)

udskift :
strSQL = strSQL

med :
SQLQuery = SQLQuery
Avatar billede mvhansen Nybegynder
08. december 2005 - 00:58 #30
Det Hjælper ikke
du har en stor tålmodighed

Private Sub Insert_Click()
    FileName = "F:\Michael\Visual Basic\Teccon_Projekt_Liste\db\Teccon.mdb"
    Set MyDb = DBEngine.Workspaces(0).OpenDatabase(FileName)
    SQLQuery = "INSERT INTO Teccon ("
    SQLQuery = SQLQuery & "ID, "
    SQLQuery = SQLQuery & "Dato, "
    SQLQuery = SQLQuery & "Kunde, "
    SQLQuery = SQLQuery & "Projektnr, "
    SQLQuery = SQLQuery & "Ordrenr, "
    SQLQuery = SQLQuery & "Beskrivelse, "
    SQLQuery = SQLQuery & "Projekt_opretter) "


    SQLQuery = SQLQuery & "values( "
    SQLQuery = SQLQuery & Dato.Text
    SQLQuery = SQLQuery & ",'" & Kunde.Text & "'"
    SQLQuery = SQLQuery & "," & Projektnr.Text
    SQLQuery = SQLQuery & "," & Ordrenr.Text
    SQLQuery = SQLQuery & ",'" & Beskrivelse.Text & "'"
    SQLQuery = SQLQuery & ",'" & Projekt_opretter.Text & "')"
    MyDb.Execute SQLQuery
    MyDb.Close

   
End Sub
Avatar billede sjh Nybegynder
08. december 2005 - 01:01 #31
Prøv uden ID

Private Sub Insert_Click()
    FileName = "F:\Michael\Visual Basic\Teccon_Projekt_Liste\db\Teccon.mdb"
    Set MyDb = DBEngine.Workspaces(0).OpenDatabase(FileName)
    SQLQuery = "INSERT INTO Teccon ("
    ' SQLQuery = SQLQuery & "ID, "
    SQLQuery = SQLQuery & "Dato, "
    SQLQuery = SQLQuery & "Kunde, "
    SQLQuery = SQLQuery & "Projektnr, "
    SQLQuery = SQLQuery & "Ordrenr, "
    SQLQuery = SQLQuery & "Beskrivelse, "
    SQLQuery = SQLQuery & "Projekt_opretter) "


    SQLQuery = SQLQuery & "values( "
    SQLQuery = SQLQuery & Dato.Text
    SQLQuery = SQLQuery & ",'" & Kunde.Text & "'"
    SQLQuery = SQLQuery & "," & Projektnr.Text
    SQLQuery = SQLQuery & "," & Ordrenr.Text
    SQLQuery = SQLQuery & ",'" & Beskrivelse.Text & "'"
    SQLQuery = SQLQuery & ",'" & Projekt_opretter.Text & "')"
    MyDb.Execute SQLQuery
    MyDb.Close

   
End Sub
Avatar billede mvhansen Nybegynder
08. december 2005 - 16:39 #32
Hej Sjh

Det virker vis jeg prøver uden ID

mvh

mvhansen
Avatar billede sjh Nybegynder
08. december 2005 - 16:42 #33
Ja ID mener jeg heller ikke skal defineres når det er "INSERT INTO .."
Avatar billede mvhansen Nybegynder
08. december 2005 - 17:19 #34
Hej Sjh

Jeg tør snart ikke spørge dig om du vil hjælpe mig med en søge og slette og redigere funtion
jeg forstår ikke om jeg skal lave en ny form for søge funtion og en ny form for  Slette funtion og sæt en listebox ind på vær form og lave en textboks og en Commandboutton på vær form
og så vil jeg gerne have på form1 hvor jeg sætter data ind i databasen en label hvor man kan se den Sidste anvendt Projekt nr forbi hvis der er en person der har brugt Projekt nr 1000 så skal den næste være 1001

ps
jeg vil godt oprette et nyt spørsmål så du kan få nogle flere point

mvh

mvhansen
Avatar billede mvhansen Nybegynder
08. december 2005 - 20:44 #35
Hej Sjh

Jeg har oprettet et nyt spørsmål
kan du ikke ligge et svar så du kan få nogle point
for den hjælp du har givet mig

mvh

mvhansen
Avatar billede mvhansen Nybegynder
09. december 2005 - 21:19 #36
lukket
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester