Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271

    Mettere il contenuto di una query in un AddItem (VB)

    strSQL = "SELECT * FROM Staff WHERE Cognome= '" & iCognome & "'"
    Vorrei mettere qui tutti i campi della tabella staff solo dove
    Cognome= '" & iCognome & "'"
    in questa listbox, facendo come faccio io vedete sotto me li
    carica tutti
    ListCognome.AddItem dbRec!Cognome & vbTab & dbRec!Nome & vbTab &
    dbRec!Ruolo

  2. #2

    prova in questo modo

    codice:
    Dim i as Integer
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Set cn = New ADODB.Connection
    cn.ConnectionString = "Provider=MSDASQL; Data Source=MIO_DSN; Database=MIO_DSN; User Id=; Password=; Security Info=True"
    cn.Open
            
    Set rs = cn.Execute("SELECT * FROM  MIA_TABELLA WHERE cognome = '" & var_cognome &"'" & ")
    rs.MoveFirst
    
    i=0                
    
    While Not rs.EOF
        Mia_ListBox.AddItem rs.Fields(i).value
        rs.MoveNext
    Wend
    Ciao

  3. #3

    P.S.

    Ovviamente devi utilizzare ADO

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    ERRORE:Mi dice che il record corrente corrisponde all'inizio o alla
    fine del file oppure è stato eliminato.Per eseguire l'operzione è
    necessario disporre di un record corrente
    dbRec.MoveFirst ----------->




    Private Sub txtCognome_LostFocus()
    txtCognome.Text = UCase(txtCognome.Text)
    txtCognome.Text = Replace(txtCognome.Text, " ", " ", 1, -1)

    Dim dbConn As New ADODB.Connection
    Rem Dim strConnectionString As String
    Dim strSQL As String
    If txtCognome.Text = "" Then
    MsgBox "Inserisci i campi obblibatori * mancanti", vbInformation
    Exit Sub
    End If

    g_strConnectionString = "maia"


    'Apro una connessione con il database
    dbConn.ConnectionString = g_strConnectionString

    dbConn.Open
    Dim dbRec As New ADODB.Recordset
    dbRec.Open "Staff", dbConn, adOpenForwardOnly, adLockOptimistic, -1
    Dim bRes As Boolean

    bRes = controllacognome(iCognome, dbConn)

    If bRes = True Then
    Beep
    MsgBox ("Dati già presenti")
    dbConn.Close
    Set dbConn = Nothing

    Else

    Dim i As Integer

    Set dbRec = dbConn.Execute("SELECT * FROM Staff WHERE Cognome= '" & iCognome & "'")
    dbRec.MoveFirst ----------->
    i = 0
    While Not dbRec.EOF
    ListCognome.AddItem dbRec.Fields(i).Value
    dbRec.MoveNext
    Wend
    dbRec.Close
    Set dbRec = Nothing
    dbConn.Close
    Set dbConn = Nothing

    End If

    End Sub

  5. #5
    togli pure quella riga di codice

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    Adesso l'ho tolta non fa niente il programma

    Private Sub txtCognome_LostFocus()
    txtCognome.Text = UCase(txtCognome.Text)
    txtCognome.Text = Replace(txtCognome.Text, " ", " ", 1, -1)

    Dim dbConn As New ADODB.Connection
    Rem Dim strConnectionString As String
    Dim strSQL As String
    If txtCognome.Text = "" Then
    MsgBox "Inserisci i campi obblibatori * mancanti", vbInformation
    Exit Sub
    End If

    g_strConnectionString = "maia"


    'Apro una connessione con il database
    dbConn.ConnectionString = g_strConnectionString

    dbConn.Open
    Dim dbRec As New ADODB.Recordset
    dbRec.Open "Staff", dbConn, adOpenForwardOnly, adLockOptimistic, -1
    Dim bRes As Boolean

    bRes = controllacognome(iCognome, dbConn)

    If bRes = True Then
    Beep
    MsgBox ("Dati già presenti")
    dbConn.Close
    Set dbConn = Nothing

    Else

    Dim i As Integer

    Set dbRec = dbConn.Execute("SELECT * FROM Staff WHERE Cognome= '" & iCognome & "'")

    i = 0
    While Not dbRec.EOF
    ListCognome.AddItem dbRec.Fields(i).Value
    dbRec.MoveNext
    Wend
    dbRec.Close
    Set dbRec = Nothing
    dbConn.Close
    Set dbConn = Nothing

    End If

    End Sub

  7. #7
    scusa, ne abbiamo parlato ieri ma non ricordo bene...
    ControllaCognome controlla se il cognome esiste? se ritorna False significa che non c'è? In questo caso se dopo esegui quell'istruzione SQL ovviamente non ti ritorna nessun record....

  8. #8

    Cavolo****

    E' un errore che conosco!!!!!!!!!!

    Ma ora non ricordo da cosa è provocato

    CMQ prova ad aggiungere questo nel ciclo WHILE - WEND


    codice:
    While Not rs1.EOF
        For i = 0 To rs.Fields.Count - 1
            ................................
        Next i
        rs.MoveNext
    Wend
    Poi fammi sapere se hai risolto

  9. #9

    che STUP****** che sono

    Dovrebbe funzionare anche il primo LISTATO
    che ti ho inviato ma mi sono dimenticato di

    INCREMENTARE i

    i=0
    While
    ......
    ......
    ......
    i=i+1
    rs.MoveNext
    Wend

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.