Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Access con Dreamweaver

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    21

    Access con Dreamweaver

    Seguendo i diversi tutorial presenti sul sito ho imparato ad pubblicare le pagine lette da un db access. Riesco a Leggere le informazioni tramite una pagina, e a Scrivere un nuovo record tramite un'altra pagina.

    Ora il mio dilemma, è di potere visualizzare un record, e di poterlo direttamente modificare senza cancellare il record e quindi ricrearlo di nuovo.

    Potete aiutarmi?

    Grazie
    Mille

  2. #2
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Se non ho capito male, vuoi sapere come editare i dati del database attraverso un form, giusto?

  3. #3
    1. Richiama il record
    2. Crea una form per l'edit
    3. Aggiorna il record con una query UPDATE

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    21
    Esatto, voglio aggiornare i record attraverso un form.

    Con Dreamweaver, ho creato una pagina .asp e un recordset.
    Ho creato un modulo con dei campi testo assegnati a dei campi del recordset. Ho creato una barra di navigazione per spostarmi tra i record. Fino qui tutto bene, riesco a spostarmi tra i record.

    Ora mi interessa aggiornare un record, quindi nella sezione Comportamento Server, creo un comportamento chiamato "Aggiorna Record".

    Quando da internet tento di aggiornare il record, mi da questo errore:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Al Cacciatore'.

    /Pagine/database/ImmissioneTassaSociale4.asp, line 100

  5. #5
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    C'è sicuramente un errore nella stringa SQL. Però dovresti farci vedere il codice.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    21
    <%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>

    <%
    // *** Edit Operations: declare variables

    // set the form action variable
    var MM_editAction = Request.ServerVariables("SCRIPT_NAME");
    if (Request.QueryString) {
    MM_editAction += "?" + Server.HTMLEncode(Request.QueryString);
    }

    // boolean to abort record edit
    var MM_abortEdit = false;

    // query string to execute
    var MM_editQuery = "";
    %>
    <%
    // *** Update Record: set variables

    if (String(Request("MM_update")) == "AggiTassa" &&
    String(Request("MM_recordId")) != "undefined") {

    var MM_editConnection = MM_Login_STRING;
    var MM_editTable = "ElencoIndirizzi";
    var MM_editColumn = "IDElencoIndirizzi";
    var MM_recordId = "" + Request.Form("MM_recordId") + "";
    var MM_editRedirectUrl = "/Pagine/database/VisualizzaTassaSociale.asp";
    var MM_fieldsStr = "textfield|value|textfield|value|textfield|value|t extfield|value|textfield|value|textfield|value|tex tfield|value";
    var MM_columnsStr = "cognomeNome|',none,''|indirizzo|',none,''|CAP|',n one,''|paese|',none,''|tassaSoc0405|none,none,NULL |tassaSoc0506|none,none,NULL|tassaSoc0607|none,non e,NULL";

    // create the MM_fields and MM_columns arrays
    var MM_fields = MM_fieldsStr.split("|");
    var MM_columns = MM_columnsStr.split("|");

    // set the form values
    for (var i=0; i+1 < MM_fields.length; i+=2) {
    MM_fields[i+1] = String(Request.Form(MM_fields[i]));
    }

    // append the query string to the redirect URL
    if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.Count > 0) {
    MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + Request.QueryString;
    }
    }
    %>
    <%
    // *** Update Record: construct a sql update statement and execute it

    if (String(Request("MM_update")) != "undefined" &&
    String(Request("MM_recordId")) != "undefined") {

    // create the sql update statement
    MM_editQuery = "update " + MM_editTable + " set ";
    for (var i=0; i+1 < MM_fields.length; i+=2) {
    var formVal = MM_fields[i+1];
    var MM_typesArray = MM_columns[i+1].split(",");
    var delim = (MM_typesArray[0] != "none") ? MM_typesArray[0] : "";
    var altVal = (MM_typesArray[1] != "none") ? MM_typesArray[1] : "";
    var emptyVal = (MM_typesArray[2] != "none") ? MM_typesArray[2] : "";
    if (formVal == "" || formVal == "undefined") {
    formVal = emptyVal;
    } else {
    if (altVal != "") {
    formVal = altVal;
    } else if (delim == "'") { // escape quotes
    formVal = "'" + formVal.replace(/'/g,"''") + "'";
    } else {
    formVal = delim + formVal + delim;
    }
    }
    MM_editQuery += ((i != 0) ? "," : "") + MM_columns[i] + " = " + formVal;
    }
    MM_editQuery += " where " + MM_editColumn + " = " + MM_recordId;

    if (!MM_abortEdit) {
    // execute the update
    var MM_editCmd = Server.CreateObject('ADODB.Command');
    MM_editCmd.ActiveConnection = MM_editConnection;
    MM_editCmd.CommandText = MM_editQuery;
    MM_editCmd.Execute();
    MM_editCmd.ActiveConnection.Close();

    if (MM_editRedirectUrl) {
    Response.Redirect(MM_editRedirectUrl);
    }
    }

    }
    %>
    <%
    var AggiTassa = Server.CreateObject("ADODB.Recordset");
    AggiTassa.ActiveConnection = MM_Login_STRING;
    AggiTassa.Source = "SELECT * FROM ElencoIndirizzi ORDER BY cognomeNome ASC";
    AggiTassa.CursorType = 0;
    AggiTassa.CursorLocation = 2;
    AggiTassa.LockType = 1;
    AggiTassa.Open();
    var AggiTassa_numRows = 0;
    %>
    <%
    // *** Recordset Stats, Move To Record, and Go To Record: declare stats variables

    // set the record count
    var AggiTassa_total = AggiTassa.RecordCount;

    // set the number of rows displayed on this page
    if (AggiTassa_numRows < 0) { // if repeat region set to all records
    AggiTassa_numRows = AggiTassa_total;
    } else if (AggiTassa_numRows == 0) { // if no repeat regions
    AggiTassa_numRows = 1;
    }

    // set the first and last displayed record
    var AggiTassa_first = 1;
    var AggiTassa_last = AggiTassa_first + AggiTassa_numRows - 1;

    // if we have the correct record count, check the other stats
    if (AggiTassa_total != -1) {
    AggiTassa_numRows = Math.min(AggiTassa_numRows, AggiTassa_total);
    AggiTassa_first = Math.min(AggiTassa_first, AggiTassa_total);
    AggiTassa_last = Math.min(AggiTassa_last, AggiTassa_total);
    }
    %>
    <% var MM_paramName = ""; %>
    <%
    // *** Move To Record and Go To Record: declare variables

    var MM_rs = AggiTassa;
    var MM_rsCount = AggiTassa_total;
    var MM_size = AggiTassa_numRows;
    var MM_uniqueCol = "";
    MM_paramName = "";
    var MM_offset = 0;
    var MM_atTotal = false;
    var MM_paramIsDefined = (MM_paramName != "" && String(Request(MM_paramName)) != "undefined");
    %>
    <%
    // *** Move To Record: handle 'index' or 'offset' parameter

    if (!MM_paramIsDefined && MM_rsCount != 0) {

    // use index parameter if defined, otherwise use offset parameter
    r = String(Request("index"));
    if (r == "undefined") r = String(Request("offset"));
    if (r && r != "undefined") MM_offset = parseInt(r);

    // if we have a record count, check if we are past the end of the recordset
    if (MM_rsCount != -1) {
    if (MM_offset >= MM_rsCount || MM_offset == -1) { // past end or move last
    if ((MM_rsCount % MM_size) != 0) { // last page not a full repeat region
    MM_offset = MM_rsCount - (MM_rsCount % MM_size);
    } else {
    MM_offset = MM_rsCount - MM_size;
    }
    }
    }

    // move the cursor to the selected record
    for (var i=0; !MM_rs.EOF && (i < MM_offset || MM_offset == -1); i++) {
    MM_rs.MoveNext();
    }
    if (MM_rs.EOF) MM_offset = i; // set MM_offset to the last possible record
    }
    %>
    <%
    // *** Move To Record: if we dont know the record count, check the display range

    if (MM_rsCount == -1) {

    // walk to the end of the display range for this page
    for (var i=MM_offset; !MM_rs.EOF && (MM_size < 0 || i < MM_offset + MM_size); i++) {
    MM_rs.MoveNext();
    }

    // if we walked off the end of the recordset, set MM_rsCount and MM_size
    if (MM_rs.EOF) {
    MM_rsCount = i;
    if (MM_size < 0 || MM_size > MM_rsCount) MM_size = MM_rsCount;
    }

    // if we walked off the end, set the offset based on page size
    if (MM_rs.EOF && !MM_paramIsDefined) {
    if ((MM_rsCount % MM_size) != 0) { // last page not a full repeat region
    MM_offset = MM_rsCount - (MM_rsCount % MM_size);
    } else {
    MM_offset = MM_rsCount - MM_size;
    }
    }

    // reset the cursor to the beginning
    if (MM_rs.CursorType > 0) {
    if (!MM_rs.BOF) MM_rs.MoveFirst();
    } else {
    MM_rs.Requery();
    }

    // move the cursor to the selected record
    for (var i=0; !MM_rs.EOF && i < MM_offset; i++) {
    MM_rs.MoveNext();
    }
    }
    %>
    <%
    // *** Move To Record: update recordset stats

    // set the first and last displayed record
    AggiTassa_first = MM_offset + 1;
    AggiTassa_last = MM_offset + MM_size;
    if (MM_rsCount != -1) {
    AggiTassa_first = Math.min(AggiTassa_first, MM_rsCount);
    AggiTassa_last = Math.min(AggiTassa_last, MM_rsCount);
    }

    // set the boolean used by hide region to check if we are on the last record
    MM_atTotal = (MM_rsCount != -1 && MM_offset + MM_size >= MM_rsCount);
    %>
    <%
    // *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters

    // create the list of parameters which should not be maintained
    var MM_removeList = "&index=";
    if (MM_paramName != "") MM_removeList += "&" + MM_paramName.toLowerCase() + "=";
    var MM_keepURL="",MM_keepForm="",MM_keepBoth="",MM_kee pNone="";

    // add the URL parameters to the MM_keepURL string
    for (var items=new Enumerator(Request.QueryString); !items.atEnd(); items.moveNext()) {
    var nextItem = "&" + items.item().toLowerCase() + "=";
    if (MM_removeList.indexOf(nextItem) == -1) {
    MM_keepURL += "&" + items.item() + "=" + Server.URLencode(Request.QueryString(items.item()) );
    }
    }

    // add the Form variables to the MM_keepForm string
    for (var items=new Enumerator(Request.Form); !items.atEnd(); items.moveNext()) {
    var nextItem = "&" + items.item().toLowerCase() + "=";
    if (MM_removeList.indexOf(nextItem) == -1) {
    MM_keepForm += "&" + items.item() + "=" + Server.URLencode(Request.Form(items.item()));
    }
    }

    // create the Form + URL string and remove the intial '&' from each of the strings
    MM_keepBoth = MM_keepURL + MM_keepForm;
    if (MM_keepBoth.length > 0) MM_keepBoth = MM_keepBoth.substring(1);
    if (MM_keepURL.length > 0) MM_keepURL = MM_keepURL.substring(1);
    if (MM_keepForm.length > 0) MM_keepForm = MM_keepForm.substring(1);
    %>
    <%
    // *** Move To Record: set the strings for the first, last, next, and previous links

    var MM_moveFirst="",MM_moveLast="",MM_moveNext="",MM_m ovePrev="";
    var MM_keepMove = MM_keepBoth; // keep both Form and URL parameters for moves
    var MM_moveParam = "index";

    // if the page has a repeated region, remove 'offset' from the maintained parameters
    if (MM_size > 1) {
    MM_moveParam = "offset";
    if (MM_keepMove.length > 0) {
    params = MM_keepMove.split("&");
    MM_keepMove = "";
    for (var i=0; i < params.length; i++) {
    var nextItem = params[i].substring(0,params[i].indexOf("="));
    if (nextItem.toLowerCase() != MM_moveParam) {
    MM_keepMove += "&" + params[i];
    }
    }
    if (MM_keepMove.length > 0) MM_keepMove = MM_keepMove.substring(1);
    }
    }

    // set the strings for the move to links
    if (MM_keepMove.length > 0) MM_keepMove = Server.HTMLEncode(MM_keepMove) + "&";
    var urlStr = Request.ServerVariables("URL") + "?" + MM_keepMove + MM_moveParam + "=";
    MM_moveFirst = urlStr + "0";
    MM_moveLast = urlStr + "-1";
    MM_moveNext = urlStr + (MM_offset + MM_size);
    MM_movePrev = urlStr + Math.max(MM_offset - MM_size,0);
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Documento senza titolo</title>
    </head>

    <body>



    </p>
    <form action="<%=MM_editAction%>" method="POST" name="AggiTassa" id="AggiTassa">
    <table width="600" border="0">
    <tr>
    <td>cognomeNome</td>
    <td><input name="textfield" type="text" value="<%=(AggiTassa.Fields.Item("cognomeNome").Va lue)%>"></td>
    </tr>
    <tr>
    <td></td>
    <td><input name="textfield" type="text" value="<%=(AggiTassa.Fields.Item("indirizzo").Valu e)%>"></td>
    </tr>
    <tr>
    <td></td>
    <td><input name="textfield" type="text" value="<%=(AggiTassa.Fields.Item("CAP").Value)%>">
    <input name="textfield" type="text" value="<%=(AggiTassa.Fields.Item("paese").Value)%> "></td>
    </tr>
    <tr>
    <td>Tassa</td>
    <td><input name="textfield" type="text" value="<%=(AggiTassa.Fields.Item("tassaSoc0405").V alue)%>"></td>
    </tr>
    <tr>
    <td></td>
    <td><input name="textfield" type="text" value="<%=(AggiTassa.Fields.Item("tassaSoc0506").V alue)%>"></td>
    </tr>
    <tr>
    <td><input type="submit" name="Submit" value="Invia"></td>
    <td><input name="textfield" type="text" value="<%=(AggiTassa.Fields.Item("tassaSoc0607").V alue)%>"></td>
    </tr>
    </table>


    </p>
    <table border="0" width="50%" align="center">
    <tr>
    <td width="23%" align="center"><% if (MM_offset != 0) { %>
    [img]First.gif[/img]
    <% } // end MM_offset != 0 %>
    </td>
    <td width="31%" align="center"><% if (MM_offset != 0) { %>
    [img]Previous.gif[/img]
    <% } // end MM_offset != 0 %>
    </td>
    <td width="23%" align="center"><% if (!MM_atTotal) { %>
    [img]Next.gif[/img]
    <% } // end !MM_atTotal %>
    </td>
    <td width="23%" align="center"><% if (!MM_atTotal) { %>
    [img]Last.gif[/img]
    <% } // end !MM_atTotal %>
    </td>
    </tr>
    </table>
    <input type="hidden" name="MM_update" value="AggiTassa">
    <input type="hidden" name="MM_recordId" value="<%= AggiTassa.Fields.Item("IDElencoIndirizzi").Value %>">
    </form>


    </p>
    </body>
    </html>
    <%
    AggiTassa.Close();
    %>

  7. #7
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    L'errore dovrebbe essere da queste parti

    codice:
    MM_editQuery += " where " + MM_editColumn + " = " + MM_recordId;

    Dovresti assicurarti che MM_editColumn e MM_recordId non siano vuote. In pratica dall'errore pare che la stringa SQL sia incompleta.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.