Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB6] - Tipi di dati non corrispondenti

    Ho un problemino sicuramente banale, ma che mi sta facendo impazzire, spero possiate aiutarmi.
    Ho un DB di Access con Tabella CaricoScarico dove il campo Matricola(intero lungo - long) al momento della creazione del recordset rs mi provoca in esecuzione il seguente errore:

    Errore di run-time -2147217913(80040e07)'
    Tipi di dati non corrispondenti nell'espressione criterio.

    eppure sia il campo matricola del DB sia il textbox associato e la variabile lngLeggiDal sono impostati tutti come valori Long!! Sono sicuro che l'errore è circoscritto in tale variabile/campo e non negli altri vincoli del recordset.
    Vi allego il codice di apertura recordset rs.

    codice:
    rs.Open "SELECT Matricola FROM CaricoScarico WHERE [Società]='" & Trim(CmbSocietà.Text) & _
                    "' And [Tipo]='" & Trim(CmbTipologia.Text) & _
                    "' And [Matricola]>='" & Trim(lngLeggiDal) & _
                    "ORDER BY Matricola'"
    Sono sempre più sicuro che sia una sciocchezza...ma sto ammattendo!!!
    Grazie amici
    A Lucca si mangia,si beve e si cucca.

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    La stringa SQL così com'è scritta è errata.
    codice:
    rs.Open "SELECT Matricola FROM CaricoScarico WHERE [Società]='" & Trim(CmbSocietà.Text) & _
                    "' And [Tipo]='" & Trim(CmbTipologia.Text) & _
                    "' And [Matricola]>='" & Trim(lngLeggiDal) & _
                    "ORDER BY Matricola'"
    Se il campo Matricola è numerico dovrebbe essere :
    codice:
    rs.Open "SELECT Matricola FROM CaricoScarico WHERE [Società]='" & Trim(CmbSocietà.Text) & _
                    "' And [Tipo]='" & Trim(CmbTipologia.Text) & _
                    "' And [Matricola]>= " & Trim(lngLeggiDal) & _
                    "ORDER BY Matricola"
    Con le informazioni che hai fornito è tutto.
    Ciao.
    Ciao, Brainjar

  3. #3

    [VB6] Errore di sintassi

    Ora mi visualizza un errore di sintassi facendo così come mi hai suggerito tu.

    Errore di run-time '-2147217900 (80040e14)'
    Errore di sintassi nella stringa nell'espressione della query
    '[Società]='KUWAIT' And [Tipo]='BENZINA' And [Matricola]>= 3243".

    A Lucca si mangia,si beve e si cucca.

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Probabilmente il nome del campo 'Società' non è gradito.
    Prova a modificare il db dando un nome al campo senza utilizzare caratteri alfabetici non internazionali.
    Ciao.
    Ciao, Brainjar

  5. #5
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    VB-Access
    A volte mi è capitato che quando passavo valori inseriti in una Txt di VB ad Access, e viceversa, quest'ultimo interpretasse il valore non come numero bensì come stringa e, quindi, avendo il campo settato come valore "numerico" mi generasse l'errore da te lamentato.
    Ho superato inserendo questa funzione in un modulo bas di VB:
    codice:
    'Trasforma stringa in Numero Double e formatta con punto:
        Public Function CtrPI(strTesto As String)
        On Error Resume Next
            If IsNumeric(strTesto) Then
                CtrPI = Format(CDbl(strTesto), "#,##0")
                Else: CtrPI = 0
            End If
        End Function
    Puoi modificare la funzione CDbl con una più appropriata (nell'esempio CDbl - "Restituisce un'espressione che è stata convertita in un valore Variant del sottotipo Double") e la usi ad esempio nel seguente modo:
    codice:
    CtrPI(RSTC2("Aliquote"))
    LM

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.