Avatar billede tryout Nybegynder
25. september 2003 - 19:27 Der er 14 kommentarer og
1 løsning

Hjælp til guestbook (Access)

Jeg prøver at skrive en guestbook, men jeg er kun lige begyndt med databaser og det giver mig en del problemer.

DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tagwall.mdb")

If Len(strError) = 0 Then
    set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open DSN
    strDate = Now()
    strName = Server.HTMLEncode(strNavn)
    strEmail = Server.HTMLEncode(strEmail)
    strKomn = Server.HTMLEncode(strKommentar)
    strSQL = "Insert into Tagwall ("
    strSQl = strSQL & "Dato, Navn, Email, Kommentar)"
    strSQl = strSQL & "values('strDato', 'strName', 'strEmail', 'strKomn')"
 
    ' SQL sætning eksekveres
    Conn.Execute(strSQL)

' Luk databaseforbindelse
    Conn.Close
    Set Conn = Nothing
    End If


jeg får følgende fejlmeddelelse:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.
Avatar billede pfp Nybegynder
25. september 2003 - 19:49 #1
Du skal have skriverettigheder til din database. Højreklik på selve MDB filen og vælg fanen sikkerhed. Derfra sætter du rettighederne til din database. Tjek desuden at den ikke er skrivebeskyttet.

Sig til hvis du ikke har fanen sikkerhed..
Avatar billede tryout Nybegynder
25. september 2003 - 21:00 #2
forsøgte at ændre på skriverettighedderne, så alle kunne skrive til .mdb filen.

så fik jeg denne fejlmeddelelse:

Data type mismatch in criteria expression.
Avatar billede henrik_n Nybegynder
26. september 2003 - 10:26 #3
Det kan skyldes at feltettypen dato i din database er forkert.
Det kan også være formatet i datofeltet i databasen i forhold til den du sender fra scriptet.

mvh.
Henrik
Avatar billede tryout Nybegynder
26. september 2003 - 12:14 #4
Den giver også fejl ved kommandoen "Conn.Open DSN"

fejlmeddelelse:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x730 Thread 0x7cc DBC 0x16e0064 Jet'.
/
Avatar billede henrik_n Nybegynder
29. september 2003 - 12:24 #5
Jeg kan se der fejl i

strSQl = strSQL & "values('strDato', 'strName', 'strEmail', 'strKomn')"

StrDato skal være StrDate

hjælper det ??


Henrik
Avatar billede tryout Nybegynder
30. september 2003 - 21:54 #6
Det hjalp ikke det store.

Spørgsmål: den første kolonne indeholder "ID", altså autonummerering, men ser systemet ikke bort fra det, når den putter data ind i tabellen?
Er det derfor jeg får "mismatch in criteria expression"
Avatar billede henrik_n Nybegynder
01. oktober 2003 - 11:20 #7
Jo, det skulle ikke være nødvendigt med feltet autonummerering.
Det er nok datofeltet, der er problemet.

Prøv evt. at slette dato i SQL-strengen.

strSQl = strSQL & "Navn, Email, Kommentar)"
strSQl = strSQL & "values 'strName', 'strEmail', 'strKomn')"

Så kan du se om det evt. er datoformaterne. De kan drille.

Eller

strSQl = strSQL & "Id, Dato, Navn, Email, Kommentar)"
    strSQl = strSQL & "values('','strDate', 'strName', 'strEmail', 'strKomn')"

Så svarer SQL til antallet af felter i tabellen.

Du kan også prøve at lave datofeltet i tabellen om til alm. tekstfelt.

mvh.

Henrik
Avatar billede tryout Nybegynder
01. oktober 2003 - 11:46 #8
Jeg kan sætte værdier ind i tabellen, når jeg fjerner dato-strengen, men den brokker sig stadig. Gør jeg det 2 gange kommer den fejlmeddelse vedrørende "Conn.Open DSN" og den sætter ikke værdierne for 'strName','strEmail, osv. ind den sætter bare strengen "strName" altså navnet på strengen.
Avatar billede henrik_n Nybegynder
01. oktober 2003 - 12:31 #9
Du skal nok prøve at sætte & eller % foran og bagefter str-navnene.

strSQl = strSQL & "Navn, Email, Kommentar)"
strSQl = strSQL & "values ('& strName & ', ' & strEmail & ', ' & strKomn & ')"

Derved fortæller du at det er en variabel der skal behandles i SQL-strengen.
Avatar billede tryout Nybegynder
01. oktober 2003 - 14:53 #10
Hverken & eller % virker, har du nogen andre forslag?

Den sætter bare strengen "&strName&" og ikke den værdi som variablen indeholder(ell. "%strName%").
har også forsøgt "values('<%=sttName%>, .... det virkede heller ikke
Avatar billede tryout Nybegynder
01. oktober 2003 - 15:04 #11
Har fundet ud af det nu, der skal og være "-tegn for og bag.

strSQl = strSQL & "Navn, Email, Kommentar)"
strSQl = strSQL & "values ('&" strName "& ', ' "& strEmail & "', '" & strKomn &" ')"
Avatar billede tryout Nybegynder
01. oktober 2003 - 15:05 #12
Tak for hjælp Henrik, du får de 30pt. opretter sikkert snart et nyt spørgsmål, hvis jeg får problemer med at hive dataen ud af databasen igen. hej.
Avatar billede mr.meincke Nybegynder
01. oktober 2003 - 15:12 #13
Prøv det her:

DSN = "DRIVER={Microsoft Access Driver (*.mdb)};"
DSN = DSN & "DBQ=" & Server.MapPath("tagwall.mdb")

If Len(strError) = 0 Then
Set objConn = Server.CreateObject("ADODB.Connection")
Conn.Open DSN
strDate = Now()
strName = Server.HTMLEncode(strNavn)
strEmail = Server.HTMLEncode(strEmail)
strKomn = Server.HTMLEncode(strKommentar)
strSQL = "Insert into Tagwall (Dato,Navn,Email,Kommentar) VALUES ('"&strDato&"', '"&strName&"', '"&strEmail&"', '"&strKomn&"')"
Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
End If
Avatar billede mr.meincke Nybegynder
01. oktober 2003 - 15:13 #14
never mind... Kan se det er klaret ;)
Avatar billede henrik_n Nybegynder
02. oktober 2003 - 10:09 #15
Hej Tryout

Selv tak. Hvis du stadig har problemer med datofelterne, kan du evt. prøve at foretaget en søgning med "dato" under sprøgsmål, så kan du helt sikkert få mere hjælp der.

mvh. Henrik
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

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



Seneste spørgsmål Seneste aktivitet
I går 20:46 opkaldside Af hagbartm i Mobiltelefoner
I går 16:05 win 10 vil ikke boote Af bb69 i Windows
I går 11:20 Lenovo x390 Af tobberjas i PC
I går 10:14 Alder i Excel Af Nanarsi i Excel
I går 09:00 Flere linier på faneblad Af Peder Lund Nielsen i Excel