01. april 2003 - 19:19Der er
12 kommentarer og 1 løsning
Ændre i acces-dtb via ASP
Hej...
Jeg har vha ASP-tutorialen på html.dk prøvet at hitte ud af hvordan jeg kan ændre i en access-database. Jeg skal, vha. en form i et html-dokument ændre værdien i access-feltet "Aktiv" fra Yes til No, samt indsætte dags dato i feltet "Dato". Men kun hvis de indtastede data i formularfelterne stemmer overens med de felter de henviser til i databasen. Det ser sådan ud:
<% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("/db/annoncer.mdb") Conn.Open DSN
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
<% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("/db/annoncer.mdb") Conn.Open DSN
'Laver en søgning efter dataene i databasen SQL = "Select * From koeb WHERE Kontrolnummer='" & Request.Form("Ktrlnr") & "' AND e-mail='" & Request.Form("Email") & "'" Set rs = Conn.Execute(SQL)
'Tjekker om dataene ligger i databasen If NOT (rs.BOF OR rs.EOF) Then ' SQL sætning opbygges strSQL = "Update koeb set " strSQL = strSQL & "Aktiv= 'No', " strSQL = strSQL & "Dato= '" & Date & " ," strSQL = strSQL & "WHERE Kontrolnummer='" & Request.Form("Ktrlnr") & "' AND e-mail='" & Request.Form("Email") & "'"
' SQL sætning eksekveres Conn.Execute(strSQL)
End IF
' Luk databaseforbindelse Conn.Close Set Conn = Nothing %>
Jeg får følgende fejlmeddellelse, når jeg prøver med -master-d-'s forslag: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Kontrolnummer='654321' AND Indsenders e-mail='test@mail.dk''.
/annonce/annonce-fjernkoeb.asp, line 15
linie 15 er: Set rs = Conn.Execute(SQL) i
'Laver en søgning efter dataene i databasen SQL = "Select * From koeb WHERE Kontrolnummer='" & Request.Form("Ktrlnr") & "' AND e-mail='" & Request.Form("Email") & "'" Set rs = Conn.Execute(SQL)
Her er koden: <% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("/db/annoncer.mdb") Conn.Open DSN
'Laver en søgning efter dataene i databasen SQL = "Select * From koeb WHERE Kontrolnummer='" & Request.Form("Ktrlnr") & "' AND Indsender-email='" & Request.Form("Email") & "'" Set rs = Conn.Execute(SQL)
'Tjekker om dataene ligger i databasen If NOT (rs.BOF OR rs.EOF) Then ' SQL sætning opbygges strSQL = "Update koeb set " strSQL = strSQL & "Aktiv= 'No', " strSQL = strSQL & "Inaktiveringsdato= '" & Date & " ," strSQL = strSQL & "WHERE Kontrolnummer='" & Request.Form("Ktrlnr") & "' AND Indsender-email='" & Request.Form("Email") & "'"
' SQL sætning eksekveres Conn.Execute(strSQL)
End IF
' Luk databaseforbindelse Conn.Close Set Conn = Nothing %>
Jeg får denne fejlmeddelelse: Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.
<% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("/db/annoncer.mdb") Conn.Open DSN
'Laver en søgning efter dataene i databasen SQL = "Select * From koeb WHERE Kontrolnummer='" & Request.Form("Ktrlnr") & "' AND Indsender-email='" & Request.Form("Email") & "'" Set rs = Conn.Execute(SQL)
If NOT (rs.BOF OR rs.EOF) Then If Request.Form("Ktrlnr") <> "" AND Request.Form("Email") <> "" Then ' SQL sætning opbygges strSQL = "Update koeb set " strSQL = strSQL & "Aktiv= 'No', " strSQL = strSQL & "Inaktiveringsdato= '" & Date & " ," strSQL = strSQL & "WHERE Kontrolnummer='" & Request.Form("Ktrlnr") & "' AND Indsender-email='" & Request.Form("Email") & "'"
' SQL sætning eksekveres Conn.Execute(strSQL)
End IF End IF
' Luk databaseforbindelse Conn.Close Set Conn = Nothing %>
Nej, det ser ikke sådan ud. Derfor lukker jeg spørgsmålet, og så må jeg se om jeg kan finde svaret andetsteds!
Synes godt om
Ny brugerNybegynder
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.