---
title: "Varför funkar det inte.................................."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12640-varför-funkar-det-inte"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "larsson"
published: "2001-11-13T18:51:00.000Z"
updated: "2001-11-14T17:50:00.000Z"
replies: 13
views: 163
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/12640-varför-funkar-det-inte"
---

# Varför funkar det inte..................................

## #1 — larsson, 2001-11-13T18:51Z

Vad är det för fel .... den är byggd i Macromedia UltraDev 4.0 och ska skicka till databas. Rad 90 är med fet stil.
Hoppas att det är någon som har något bra förslag.:)

> Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 
>
> \[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel i INSERT INTO-uttryck. 
>
> /ladda.asp, rad 90

:q
Koden är :

```
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/sanda.asp" -->
<%
' *** Edit Operations: declare variables

MM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
  MM_editAction = MM_editAction & "?" & Request.QueryString
End If

' boolean to abort record edit
MM_abortEdit = false

' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables

If (CStr(Request("MM_insert")) <> "") Then

  MM_editConnection = MM_sanda_STRING
  MM_editTable = "Kunder"
  MM_editRedirectUrl = ""
  MM_fieldsStr  = "Foretagsnamn&#0124;value&#0124;ForNamn&#0124;value&#0124;EfterNamn&#0124;value&#0124;Adress&#0124;value&#0124;Postnummer&#0124;value&#0124;Ort&#0124;value&#0124;Land&#0124;value&#0124;TelefonBostad&#0124;value&#0124;TelArbete&#0124;value&#0124;Mobiltelefon&#0124;value&#0124;Fax&#0124;value&#0124;Epostnamn&#0124;value&#0124;Anteckningar&#0124;value"
  MM_columnsStr = "Foretagsnamn&#0124;',none,''&#0124;ForNamn&#0124;',none,''&#0124;EfterNamn&#0124;',none,''&#0124;Adress&#0124;',none,''&#0124;Postnummer&#0124;',none,''&#0124;Ort&#0124;',none,''&#0124;Land&#0124;',none,''&#0124;TelefonBostad&#0124;',none,''&#0124;TelArbete&#0124;',none,''&#0124;Mobiltelefon&#0124;',none,''&#0124;Fax&#0124;',none,''&#0124;E-postnamn &#0124;',none,''&#0124;Anteckningar&#0124;',none,''"

  ' create the MM_fields and MM_columns arrays
  MM_fields = Split(MM_fieldsStr, "&#0124;")
  MM_columns = Split(MM_columnsStr, "&#0124;")
  
  ' set the form values
  For i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(i+1) = CStr(Request.Form(MM_fields(i)))
  Next

  ' append the query string to the redirect URL
  If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
      MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
      MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
  End If

End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it

If (CStr(Request("MM_insert")) <> "") Then

  ' create the sql insert statement
  MM_tableValues = ""
  MM_dbValues = ""
  For i = LBound(MM_fields) To UBound(MM_fields) Step 2
    FormVal = MM_fields(i+1)
    MM_typeArray = Split(MM_columns(i+1),",")
    Delim = MM_typeArray(0)
    If (Delim = "none") Then Delim = ""
    AltVal = MM_typeArray(1)
    If (AltVal = "none") Then AltVal = ""
    EmptyVal = MM_typeArray(2)
    If (EmptyVal = "none") Then EmptyVal = ""
    If (FormVal = "") Then
      FormVal = EmptyVal
    Else
      If (AltVal <> "") Then
        FormVal = AltVal
      ElseIf (Delim = "'") Then  ' escape quotes
        FormVal = "'" & Replace(FormVal,"'","''") & "'"
      Else
        FormVal = Delim + FormVal + Delim
      End If
    End If
    If (i <> LBound(MM_fields)) Then
      MM_tableValues = MM_tableValues & ","
      MM_dbValues = MM_dbValues & ","
    End if
    MM_tableValues = MM_tableValues & MM_columns(i)
    MM_dbValues = MM_dbValues & FormVal
  Next
  MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

  If (Not MM_abortEdit) Then
    ' execute the insert
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    [b]MM_editCmd.Execute[/b]
    MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
      Response.Redirect(MM_editRedirectUrl)
    End If
  End If

End If
%>
```

Permalänk: https://www.webforum.nu/p/12640

## #2 — LarsG, 2001-11-13T18:56Z

Nu orkar jag inte läsa igenom allt, men en sak som kan vara intressant är att se värdet av MM_editQuery. Så om du lägger till detta  

```
response.write MM_editQuery
```

och visar resultatet.

Permalänk: https://www.webforum.nu/p/294559

## #3 — larsson, 2001-11-13T19:08Z

Här kommer resten av kod på sidan.
Hoppas att det kan hjälpa.
:q

```
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#CCFFCC" text="#000000">
<form method="post" action="<%=MM_editAction%>" name="form1">
  <table align="center">
    <tr valign="baseline"> 
      <td nowrap align="right">Foretagsnamn:</td>
      <td> 
        <input type="text" name="Foretagsnamn" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">ForNamn:</td>
      <td> 
        <input type="text" name="ForNamn" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">EfterNamn:</td>
      <td> 
        <input type="text" name="EfterNamn" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">Adress:</td>
      <td> 
        <input type="text" name="Adress" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">Postnummer:</td>
      <td> 
        <input type="text" name="Postnummer" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">Ort:</td>
      <td> 
        <input type="text" name="Ort" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">Land:</td>
      <td> 
        <input type="text" name="Land" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">TelefonBostad:</td>
      <td> 
        <input type="text" name="TelefonBostad" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">TelArbete:</td>
      <td> 
        <input type="text" name="TelArbete" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">Mobiltelefon:</td>
      <td> 
        <input type="text" name="Mobiltelefon" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">Fax:</td>
      <td> 
        <input type="text" name="Fax" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">E-postnamn:</td>
      <td> 
        <input type="text" name="Epostnamn" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">Anteckningar:</td>
      <td> 
        <input type="text" name="Anteckningar" value="" size="32">
      </td>
    </tr>
    <tr valign="baseline"> 
      <td nowrap align="right">&nbsp;</td>
      <td> 
        <input type="submit" value="Insert Record">
      </td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="true">
</form>
<p>&nbsp;</p>
</body>
</html>
```

Permalänk: https://www.webforum.nu/p/294560

## #4 — LarsG, 2001-11-13T19:13Z

Nej, den är helt ointressant. Det är främst insert-satsen som jag vill se.

Permalänk: https://www.webforum.nu/p/294561

## #5 — larsson, 2001-11-13T19:27Z

Förstod nästan det..
Kan det vara denna du är ute efter ?

> MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

Det är all kod på sidan som är ute, här.
Eller ska den ligga på någon annan sida ?

Permalänk: https://www.webforum.nu/p/294562

## #6 — LarsG, 2001-11-13T19:29Z

Nja, inte riktigt. Det är innehållet i variabeln som jag vill se

```

response.write MM_editQuery
```

Kan du lägga till den koden innan 

```
MM_editCmd.Execute
```

och visa vad resultatet av utskriften blir?

Permalänk: https://www.webforum.nu/p/294563

## #7 — larsson, 2001-11-13T19:45Z

Hmmm.. Det är all kod som ligger i första inlägget.
Och utskriften blir när jag ska skickar iväg formuläret till databasen (access):

Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel i INSERT INTO-uttryck. 

/ladda.asp, rad 90

Permalänk: https://www.webforum.nu/p/294564

## #8 — larsson, 2001-11-13T19:48Z

kan det vara den koden som du frågar efter som saknas och gör att det inte funkar ?

Permalänk: https://www.webforum.nu/p/294565

## #9 — @nders, 2001-11-13T19:49Z

Ok, du förstår inte vad LarsG menar, känns det som. Låt mig göra ett försök. :)

För att vi ska kunna se vad som är galet, så vill vi se den slutgiltiga SQL-frågan, alltså efter det att alla variablers värden lagts till i den.

Om du innan den raden du fetmarkerade i ditt första inlägg, lägger till den raden som LarsG visade, så borde du få en utskrift av den färdiga SQL-frågan till din webbläsare. Den utskriften skulle vi vilja se.

Förstår du?

Mvh,

Permalänk: https://www.webforum.nu/p/294566

## #10 — LarsG, 2001-11-13T19:52Z

Koden skapar ju ett insert-statement som lagras i variabeln MM_editQuery och det är det statementet som jag vill se hur det ser ut.

```
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
response.write MM_editquery
response.end
```

Om du lägger till den koden så kommer det att skrivas ut på din sida hur insert-statementet ser ut och det är det jag vill se.

Permalänk: https://www.webforum.nu/p/294567

## #11 — larsson, 2001-11-13T20:08Z

Nu kanske jag har fått fram det ni vill se.

> insert into Kunder (Foretagsnamn,ForNamn,EfterNamn,Adress,Postnummer,Ort,Land,TelefonBostad,TelArbete,Mobiltelefon,Fax,E-postnamn,Anteckningar) values ('test','test','test','test','test','test','test','test','test','test','test','test','test')

Skrev "test" i alla text-rutor.

Permalänk: https://www.webforum.nu/p/294568

## #12 — LarsG, 2001-11-13T20:16Z

Jo, det är mycket enklare att se vad som är fel.

Problemet är att du har en kolumn i din tabell som heter E-postnamn.

Om du använder - i ett namn så kommer det att tolkas som minus i SQL. (Dvs e minus postnamn.)

Antingen kan du byta namn på kolumnen eller så får du ange den inom \[\]

```
MM_columnsStr = "Foretagsnamn&#0124;',none,''&#0124;ForNamn&#0124;',none,''&#0124;EfterNamn&#0124;',none,''&#0124;Adress&#0124;',none,''&#0124;Postnummer&#0124;',none,''&#0124;Ort&#0124;',none,''&#0124;Land&#0124;',none,''&#0124;TelefonBostad&#0124;',none,''&#0124;TelArbete&#0124;',none,''&#0124;Mobiltelefon&#0124;',none,''&#0124;Fax&#0124;',none,''&#0124;[E-postnam n] &#0124;',none,''&#0124;Anteckningar&#0124;',none,''"
```

I och för sig skall du kanske inte ändra i den här koden utan i ultradev/MM. (Nu vet jag inte hur det ser ut i UD/MM.)

Permalänk: https://www.webforum.nu/p/294569

## #13 — larsson, 2001-11-13T20:23Z

Tack så mycket LarsG , ska testa det imorron.
Man lär sig alltid något nytt varje dag genom detta forum.

Permalänk: https://www.webforum.nu/p/294570

## #14 — larsson, 2001-11-14T17:50Z

Det funkar kanon !!

Tackar.

Permalänk: https://www.webforum.nu/p/294571

---

Tråden på webben: https://www.webforum.nu/amne/asp/12640-varför-funkar-det-inte
