Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    254

    Problema con query su db access

    Ho un problema a far funzionare le query su db Access con VB5, utilizzando il controllo DATA.

    quando utilizzo il seguente codice:
    Private Sub txtCodice_KeyPress(KeyAscii As Integer)
    Dim criterio As String

    criterio = ""
    If (KeyAscii = 13) And TxtCodice.Text <> "" Then
    criterio = "SELECT * FROM magazzino WHERE codice = "
    criterio = criterio + TxtCodice.Text

    Data1.RecordSource = criterio

    If Not (Data1.Recordset.NoMatch) Then
    TxtCodice.DataField = "codice"
    txtMarca.DataField = "marca"
    txtLinea.DataField = "linea"
    txtNome.DataField = "nome"
    txtPrAcquisto.DataField = "pr_acquisto"
    txtPrVendita.DataField = "pr_vendita"
    txtNumPezzi.DataField = "num_pezzi"
    End If
    Else
    Exit Sub
    End If
    End Sub

    La query si posiziona sempre sul primo record della tabella "magazzino", indipendentemente che vi sia o meno il record cercato con il criterio definito.
    Il Recordsettype l'ho impostato sia su tabella che su dynaset, ma il risultato non cambia.

  2. #2
    bra che sia sbagliata la query per via che mancano gli apici sulle variabili testo prova cosi:

    criterio = "SELECT * FROM magazzino WHERE codice = "
    criterio = " & "'" TxtCodice.Text & "'"

    ciao.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    254
    Ma facendo il debug sulla stringa della query, viene costruita correttamente.

  4. #4
    [supersaibal]Originariamente inviato da folal
    Ma facendo il debug sulla stringa della query, viene costruita correttamente. [/supersaibal]
    si ma il problema potrebbe essere il parsing di jet che vuole le stringhe comprese fra gli apici singoli. non so che jet usi però.

    ciao.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    254
    Utilizzo Microsoft Jet database engine.

  6. #6
    vabbè cmq hai provato con gli apici?
    poi non so se sia giusto "If Not (Data1.Recordset.NoMatch) Then"
    io avrei messo "If Not (Data1.Recordset.EOF) Then" perchè il .NoMatch
    restituisce qualcosa solo se si usa il metodo SEEK almeno in vb6.

    ciao.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.