Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Poker32
    Registrato dal
    May 2001
    Messaggi
    240

    [VB6] Errore nella query sql

    Ciao,

    non riesco a fare una query al db
    ecco il codice:
    codice:
    Private Sub Command1_Click()    'Ciclo principale del programma
        Anno_In = Anno_T.Text
        Anno_temp = CInt(Anno_In)
        Anno_Out = Anno_In - 5
        ID_Azienda = Id_Az
        
        Dim var(100, 100) As Integer
            
        Do While Anno_temp >= Anno_Out
        For i = 18 To Età_Max
            For j = 0 To Anz_Max
                eta = Anno_temp - i
    
                SQL = "SELECT * From DipInServ WHERE " _
                     "((CInt(Right([dnasc],4)))=" & eta & ") AND " _
                     "((" & Anno_temp & " _
                     " - CInt(Right([dassunz],4))) = " & j & ") AND " _
                     "((CInt(Right([dusc],4)))>=" & Anno_temp & ") " _
                     "AND ((dipinserv.IdAz)=" & ID_Azienda & ")"
    
                Set Rs = Cn.Execute(SQL)
                var(i, j) = Rs.RecordCount
            Next j
        Next i
        Anno_temp = Anno_temp - 1
        Loop
    End Sub
    Nota:
    la stringa sql è su una sola riga.

    l'errore che mi da é:

    Run-time error '-2147217913 (80040e07)'
    Tipi di dati non corrispondenti nell'espressione criterio


    Cosa ho sbagliato?

  2. #2
    Utente di HTML.it L'avatar di Poker32
    Registrato dal
    May 2001
    Messaggi
    240
    up

  3. #3
    forse se metti il tag per il codice diventa comprensibile ciò che hai scritto.
    io non riesco a capirci niente così.
    per stavolta te lo modifico io, alla prossima ricordati di utilizzare sto benedetto tag.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  4. #4
    Utente di HTML.it L'avatar di Poker32
    Registrato dal
    May 2001
    Messaggi
    240
    dimenticato.... :bubu:

    scusa

    come si risolve questa query

  5. #5
    Originariamente inviato da Poker32
    dimenticato.... :bubu:

    scusa

    come si risolve questa query
    il problema sta nel filtro, in particolare nella sottrazione.
    prova a scriverla così, è un po' più leggibile. e verifica che tutte le variabili che utilizzi nel filtro siano dello stesso tipo dato del campo del db corrispondente.
    codice:
    SQL = "SELECT * From DipInServ WHERE " _
    SQL = SQL & "((CInt(Right([dnasc],4))) = " & eta & ") "
    SQL = SQL & "AND " 
    SQL = SQL & "((" & Anno_temp & " - CInt(Right([dassunz],4)))"
    SQL = SQL & " = " & j & ") AND "
    SQL = SQL & "((CInt(Right([dusc],4))) >= " & Anno_temp & ") "
    SQL = SQL & "AND ((dipinserv.IdAz) = " & ID_Azienda & ")"

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  6. #6
    Utente di HTML.it L'avatar di Poker32
    Registrato dal
    May 2001
    Messaggi
    240
    adesso non mi da più quell'errore.

    mi dice:
    tipi di dati non corrispondenti nell'espressione criterio

    il debug mi evidenzia sa riga:

    Set Rs = Cn.Execute(SQL)

    vuol dire che devo convertire i dati che utilizzo come input per la ricerca nel formato di quelli presenti nel db?

  7. #7
    Originariamente inviato da Poker32
    adesso non mi da più quell'errore.

    mi dice:
    tipi di dati non corrispondenti nell'espressione criterio

    il debug mi evidenzia sa riga:

    Set Rs = Cn.Execute(SQL)

    vuol dire che devo convertire i dati che utilizzo come input per la ricerca nel formato di quelli presenti nel db?
    esattamente.
    Quando esegui operazioni di SELECT, INSERT, UPDATE, ecc... sul database devi sempre assicurarti che i dati di input siano dello stesso tipo di quelli del db.
    Ad esempio, se sul db hai un campo NOME che è un testo, la tua variabile di input sarà necessariamente STRING.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  8. #8
    Utente di HTML.it L'avatar di Poker32
    Registrato dal
    May 2001
    Messaggi
    240
    adesso parte.

    ho convertito alcuni dati che non erano sistemati bene

    dopo un po che il prog lavora si blocca dandomi un errore di overflow

    cosa vuol dire?

  9. #9
    Originariamente inviato da Poker32
    adesso parte.

    ho convertito alcuni dati che non erano sistemati bene

    dopo un po che il prog lavora si blocca dandomi un errore di overflow

    cosa vuol dire?
    probabilmente hai un campo LONG sul db e sul programma utilizzi un INTEGER

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  10. #10
    Utente di HTML.it L'avatar di Poker32
    Registrato dal
    May 2001
    Messaggi
    240
    sistemati anche questi

    il prog parte, lavora qualche secondo e poi si blocca indicando problemi di overflow

    come può essere?

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.