Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187

    [VB6] Errore di run-time

    Ciao a tutti,
    ho problema con un programma VB questo programma elabora un file DAT e lo inserisce in un DB Access.
    Ora ha sempre funzionato invece ieri improvvisamente ha cominciato a dare un errore strano dopo che elaborava il DAT...

    Errore di run-time '-2147217913 (80040e07)' Tipi di dati non corrispondenti nell'espressione criterio.
    Con un pulsante OK che quando lo premo si chiude il programma e basta.

    Ora io non ho molta dimistichezza con VB però non riesc a capire cosa voglia dire questo errore, gentilmente mi potete dire a cosa, presubilmente, corrisponde tale errore?

    Grazie e ciao

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Si riferisce ad una frase SELECT ... faccela vedere ...

  3. #3
    Utente di HTML.it L'avatar di nadia79
    Registrato dal
    Aug 2005
    Messaggi
    187
    Uhmm ci saranno 50 SELECT... comunque ora controllo i dati nelle tabelle secondo me è lì l'errore... uff

    Grazie per il sostegno vi faccio sapere

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Deve essere dopo una WHERE dove, magari, hai inserito un controllo con un campo numerico inserendo gli apici o qualcosa di simile.
    Esempio

    ... WHERE CampoNumerico = '" & v & "'"

    Se fai un minimo di debug, ti accorgi in quale linea si ferma il programma ...

  5. #5
    riporto up questa discussione perchè mi sto confrontando con lo stesso tipo di problema.
    Ho un campo numerico nel db access (Id_Fattura) che viene confrontato con una textbox contenuta in un altro form e il cui valore viene memorizzato in una variabile (numfat).
    La query che mi deve produrre dei risultati è la seguente:

    codice:
    queryx = "SELECT * FROM " & nometab & " WHERE Id_Fattura='" & numfat & "'"
    nometab è il nome della tabella su cui deve operare tale query e di numfat, dichiarata integer, è stato già fatto riferimento.
    L'errore che mi da è il solito: "tipi di dati non corrispondenti nell'espressione criterio".

    Cosa può essere???
    grazie

  6. #6
    impostando il campo Id_Fattura come "testo" il programma funziona.
    Però non vedo per quale motivo, impostandolo come Contatore o Numerico vada in conflitto nel confronto con una variabile esplicitamente dichiarata come Integer(numfat).
    Che ne pensate??

  7. #7
    Se il parametro è di tipo testo bisogna usare il delimitatore di testo (apice):
    codice:
    SELECT * FROM Tabella WHERE CampoTesto = 'qualcosa'
    Se il parametro è numerico non vanno messi gli apici:
    codice:
    SELECT * FROM Tabella WHERE CampoNumerico = 1234
    Nel tuo esempio ci sono degli apici di troppo...
    Chi non cerca trova.

  8. #8
    grazie della dritta.
    effettivamente, trattandosi di un campo numerico, non si mettono gli apici. (me ne ero completamente dimenticato).
    Ho risolto il mio problema effettuando il controllo non più sull'ID fattura ma sul numero fattura (che è di tipo testo perchè contiene caratteri alfanumerici).

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.