Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195

    [VB6] Cercare selezionando le tabelle di Access

    Sto creando un maledetto programma e il mio blocco è nel motore di ricerca proprio nel punto in cui c'è SELECT * FROM Tabella WHERE CmbCella = TxtCerca. solo che io vorrei fare in modo tale che funzioni, ma sbaglio a scriverlo sicuramente. Il motore di ricerca dovrebbe funzionare così: Io metto il termine da ricercare e poi scelgo la cella in cui cercarlo(Con una lista nella combobox), per esempio cerco il nome Francesco nella cella Nome...ma non va, potreste dirmi come poter fare per farlo funzionare? Sbaglio a non mettere le ""? dove? Perfavore!!

  2. #2
    suppongo che tu già sappia che devi creare gli oggetti per la connessione e il recordset...in tal caso ti rimando al thread in rilievo presente in questa sezione.
    Tornando alla tua domanda: la query devi associarla ad una variabile ed è ovviamente parametrizzata ossia cambia il suo comportamento in base al contenuto della textbox TxtCerca.

    Pertanto sarà:

    codice:
    sql="SELECT * FROM Tabella WHERE CmbCella = '" & TxtCerca.text &"';"
    Nel caso in cui anche il nome della tabella e il nome del campo sono da parametrizzare devi usare gli stessi accorgimenti che ti ho appena mostrato con il codice di esempio.
    Spero di esserti stato d'aiuto. Nel caso chiedi..ma non dimenticare di dare un'occhiata al thread in rilievo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195
    ho fatto così

    rs.Open "SELECT * FROM Utenti WHERE '" & cmbSearch.Text & "' = '" & txtSearch.Text & "';", cn, 1 ma non va! Cioè formalmente è corretto ma non mi trova nulla insomma è sballato!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da plasticity
    ho fatto così

    rs.Open "SELECT * FROM Utenti WHERE '" & cmbSearch.Text & "' = '" & txtSearch.Text & "';", cn, 1 ma non va! Cioè formalmente è corretto ma non mi trova nulla insomma è sballato!
    Se ho capito, in cmbSearch c'è il nome del campo e in txtSearch il valore ... Quindi ci sono degli apici in più all'inizio ...

    rs.Open "SELECT * FROM Utenti WHERE " & cmbSearch.Text & " = '" & txtSearch.Text & "';", cn, 1

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195
    mi dice che non supporta le proprietà richieste!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Puoi essere piu' preciso ... ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195
    no no scusami funziona avevo fatto io una cosa sballata!!!| grazsieee!!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Puoi provare con:

    codice:
    Rs.CursorLocation = adUseClient
    
    rs.Open "SELECT * FROM Utenti WHERE " & cmbSearch.Text & " = '" & txtSearch.Text & "'", cn, 1

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    195
    fin'ora tutto ok

    Però se faccio la stampa libera di tutti i risultati (Cioè non metto nessun where)

    txtRisultati.Text = (rs("Nome").Value)
    rs.Movenext

    mi fa vedere solamente il primo record!!!

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Non capisco perchè ti meravigli:
    la select, senza condizioni (where),seleziona (mette a disposizione) appunto tutti i record presenti nella tabella. Ma questo non vuol dire che li "porta" tutti a video.
    Nel txtRisultati.Text = rs("Nome") avrai il primo record risultante dalla selezione (o il record su cui ti posizioni dopo la select, rs.Movenext, rs.MoveLast)
    A video, come hai strutturato il programma, ti visualizzerà sempre e solo un record.
    Con rs.Movenext ti sposti su quello successivo eppoi?? Se non fai vedere nessun valore a video a cosa ti serve.

    Se hai bisogno di vedere tutti i record selezionati devi usare un oggetto diverso dal textbox: Combobox, ListView, ListBox... e fare un loop di lettura sul recordset. Oppure utilizzi oggetti come Grid,Flexgrid..
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.