Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema LBound

  1. #1

    Problema LBound

    Prima di tutto, un grosso saluto a tutti gli utenti del forum...

    Allora, io ho questo tipo di problema. premetto che uso Dreamweaver MX connesso ad un db access. In quest'ultimo ho due tabelle:
    - Progetto
    - Riepilogo

    La relazione tra le due tabelle è stabilita dal campo ID_Progetto e il tipo di relazione è uno a molti.

    Io ho la necessità di inserire all'interno della tabella riepilogo, l'ID_Progetto per il quale l'utente deve andare a inserire dati ulteriori, e contemporaneamente dalla tabella PROGETTO in base all'ID selezionato devo recuperare anche il valore di un'altro campo (PREV_AGENZIA).

    Ho fatto così:

    Da una select che recupera l'ID_PROGETTO dalla tabella Progetto, passo il valore tramite url ad una pagina, il cui recordset intercetta il valore e nei campi modulo "idprog" e "prevag" scrive i valori corrispondenti all'ID_PROGETTO precedentemente selezionato. Quando però vado a fare l'inserimento del record all'interno della tabella RIEPILOGO ottengo questo tipo di errore:

    Tipo di errore:
    Errore di run-time di Microsoft VBScript (0x800A000D)
    Tipo non corrispondente: 'LBound'

    non riesco a capire da cosa dipenda!!!

    Vi do un indizio ulteriore:
    se invece di fare l'inserimento del record, invio i dati della form in un'altra pagina che contiene un'altra form che richiama i valori dalla prima, questi vengono "intercettati" senza problema, ma appena aggiungo il comportamento "Inserisci record", la pagina mi da lo stesso tipo di errore!!!

    Che fare? Spero in una vostra risposta!!! Mi manca questo per completare il sito!!! Grazie in anticipo e spero di essermi spiegato...
    Er Merlino che del mondo scopre ed ama ogni piccola magia...

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Così su due piedi è un classico problema che può scaturire solo con DW.
    Infatti solo lui riuscirebbe ad usare gli array per un semplice inserimento record

    Controlla lo script e soprattutto i singoli passaggi...

    Roby

  3. #3
    Grazie per l'attenzione Roby, in effetti è l'array che genera Dreamweaver, e dal codice generato mi sembra che apparentemente (xché da qualche parte il problema c'è per forza di cose) sia tutto ok...
    provo a postare il codice, magari mi puoi aiutare tu o qualcun altro

    <%
    ' *** Edit Operations: declare variables

    Dim MM_editAction
    Dim MM_abortEdit
    Dim MM_editQuery
    Dim MM_editCmd

    Dim MM_editConnection
    Dim MM_editTable
    Dim MM_editRedirectUrl
    Dim MM_editColumn
    Dim MM_recordId

    Dim MM_fieldsStr
    Dim MM_columnsStr
    Dim MM_fields
    Dim MM_columns
    Dim MM_typeArray
    Dim MM_formVal
    Dim MM_delim
    Dim MM_altVal
    Dim MM_emptyVal
    Dim MM_i

    MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
    If (Request.QueryString <> "") Then
    MM_editAction = MM_editAction & "?" & Server.HTMLEncode(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")) = "form1") Then

    MM_editConnection = MM_conn_wind_STRING
    MM_editTable = "RIEPILOGO"
    MM_editRedirectUrl = ""
    MM_fieldsStr = "textfield|value|textfield|value"
    MM_columnsStr = "ID_PROGETTO|',none,''|NR_PREVENTIVO|',none,'' "

    ' create the MM_fields and MM_columns arrays
    MM_fields = Split(MM_fieldsStr, "|")
    MM_columns = Split(MM_columnsStr, "|")

    ' set the form values
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_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

    Dim MM_tableValues
    Dim MM_dbValues

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

    ' create the sql insert statement
    MM_tableValues = ""
    MM_dbValues = ""
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = Split(MM_columns(MM_i+1),",")
    MM_delim = MM_typeArray(0)
    If (MM_delim = "none") Then MM_delim = ""
    MM_altVal = MM_typeArray(1)
    If (MM_altVal = "none") Then MM_altVal = ""
    MM_emptyVal = MM_typeArray(2)
    If (MM_emptyVal = "none") Then MM_emptyVal = ""
    If (MM_formVal = "") Then
    MM_formVal = MM_emptyVal
    Else
    If (MM_altVal <> "") Then
    MM_formVal = MM_altVal
    ElseIf (MM_delim = "'") Then ' escape quotes
    MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
    Else
    MM_formVal = MM_delim + MM_formVal + MM_delim
    End If
    End If
    If (MM_i <> LBound(MM_fields)) Then
    MM_tableValues = MM_tableValues & ","
    MM_dbValues = MM_dbValues & ","
    End If
    MM_tableValues = MM_tableValues & MM_columns(MM_i)
    MM_dbValues = MM_dbValues & MM_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
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

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

    End If
    %>
    Er Merlino che del mondo scopre ed ama ogni piccola magia...

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.