+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 6 su 6

numero campi non corripondenti a quelli della query...

  1. #1
    sal21 non è in linea Scolaretto
    Forse non ci vedo bene, ma ricevo l'errore per disordanza numerica valori con campi:
    
    Dim CONT As Long, CONTA As Long, TOT_PZ As Long, TOT_IMP As Double
    Dim STEP As Long, DATA_RIF As String, SPORT As String, SEGM As String
    Dim Vfile As String, C_OPER As Long, MS As String, MERC As String, TOT_OP As Long
    
      '''''''''''''''''
                If Mid(RIGA, 5, 1) = "-" And Mid(RIGA, 8, 1) = "-" Then
                    DATA_RIF = "01" & "/" & Mid(RIGA, 6, 2) & "/" & Mid(RIGA, 1, 4)
                End If
                
                If Mid(RIGA, 92, 1) = ";" And Not Mid(RIGA, 85, 7) = "IMPORTO" Then
                    
                    SPORT = Trim(Format(Mid(RIGA, 12, 5), "#0000"))
                    SEGM = Trim(Mid(RIGA, 18, 4))
                    C_OPER = Trim(Mid(RIGA, 23, 9))
                    MS = Trim(Mid(RIGA, 33, 4))
                    MERC = Trim(Mid(RIGA, 38, 4))
                    TOT_OP = Trim(Mid(RIGA, 43, 14))
                    TOT_PZ = Trim(Mid(RIGA, 58, 14))
                    TOT_IMP = Trim(Mid(RIGA, 73, 19))
                    
    '''''''''''''''''''''''
    
     SQL = "INSERT INTO L1262 (DATA_RIF, AGENZIA_CENTRO, SEGM, C_OPER, MS,MERC, TOT_OPE, TOT_PEZ, TOT_IMPORTO)" & _
                             "VALUES ('" & DATA_RIF & "','" & SPORT & "','" & SEGM & "'," & C_OPER & ",'" & MS & "','" & MERC & "'," & TOT_OP & "," & TOT_PZ & "," & TOT_IMP & ")"
                    CN1.Execute SQL
    
    la mia conn:
        
        Set CN1 = New ADODB.Connection
        CN1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\EPF\de32.mdb;"
    

  2. #2
    Quote Originariamente inviato da sal21 Visualizza il messaggio
    errore per disordanza numerica valori con campi:
    Eh??

    Rileggiamoli i post prima di inviarli ...
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    sal21 non è in linea Scolaretto
    Quote Originariamente inviato da AntonioGiuliana Visualizza il messaggio
    Eh??

    Rileggiamoli i post prima di inviarli ...
    ... in effetti ricevo un errore quando faccio l'execute sulla SQL:

    il numero dei valori nella query non corrisponde a quello dei campi destinazione

    ma a me sembra che valori e numero dei campi siano uguali.

  4. #4
    Inserisci una

    MsgBox SQL

    prima della Execute e controlla a video la correttezza dei parametri inseriti.
    ℹ️ Leggi di più su AntonioG ...

  5. #5
    L'avatar di spikexx84
    spikexx84 non è in linea Scribacchino
    Ciao

    Allora primo errore:
    '" & DATA_RIF & "'
    
    No no, il Jet vuole le date in formato americano e racchiuse fra diesis

    "#" & Format(DATA_RIF,"mm/dd/yyyy") & "#"
    
    Secondo e terzo errore, non formatti i parametri prima di passarli alla query....

    Mettiamo che RIGA contenga un apice (') che fai? Gli apici nelle stringhe bisogna raddopiarli

    Mettiamo che uno dei numeri (ad esempio TOP_OP) è decimale (e qui molto probabilmente c'è l'errore), la virgola verrà interpretata come separatore di campo, il che porta esattamente all'errore che ricevi.

    Per passare i valori di campo nella maniera corretta ci sono due metodi uno consigliatissimo che sono i parametri di Ado, l'altro meno consigliato è il conoscere alla perfezione come devono essere passati i parametri in base al tipo e costruire manualmente la stringa (come fai tu).

    Sta a te decidere eccoti comunque un esempio coi parametri (ripeto se accetti un consiglio segui questa strada)
    ℹ️ Leggi di più su spikexx84 ...

  6. #6
    sal21 non è in linea Scolaretto
    Quote Originariamente inviato da spikexx84 Visualizza il messaggio
    Ciao

    Allora primo errore:
    '" & DATA_RIF & "'
    
    No no, il Jet vuole le date in formato americano e racchiuse fra diesis

    "#" & Format(DATA_RIF,"mm/dd/yyyy") & "#"
    
    Secondo e terzo errore, non formatti i parametri prima di passarli alla query....

    Mettiamo che RIGA contenga un apice (') che fai? Gli apici nelle stringhe bisogna raddopiarli

    Mettiamo che uno dei numeri (ad esempio TOP_OP) è decimale (e qui molto probabilmente c'è l'errore), la virgola verrà interpretata come separatore di campo, il che porta esattamente all'errore che ricevi.

    Per passare i valori di campo nella maniera corretta ci sono due metodi uno consigliatissimo che sono i parametri di Ado, l'altro meno consigliato è il conoscere alla perfezione come devono essere passati i parametri in base al tipo e costruire manualmente la stringa (come fai tu).

    Sta a te decidere eccoti comunque un esempio coi parametri (ripeto se accetti un consiglio segui questa strada)
    WOW!
    Grazie per la disponibilità e la chiarezza.

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 0
    Ultimo Post: 13-06-2012, 01:11
  2. Risolto: [VS2010] Filtro query: confrontare due campi della Tabella
    Da dolcissimo nel forum Visual Basic .Net
    Risposte: 7
    Ultimo Post: 19-02-2012, 16:09
  3. query - confronto di campi (della stessa query)
    Da Lindo nel forum Microsoft Word
    Risposte: 2
    Ultimo Post: 25-08-2010, 17:57
  4. Risposte: 5
    Ultimo Post: 24-07-2009, 00:14
  5. [VB6] Cambiare il numero della connessione remota
    Da papy2 nel forum Visual Basic 6
    Risposte: 9
    Ultimo Post: 02-10-2005, 16:44