Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    66

    [VBA/ACCESS] Tramite select visualizzare dati in un altra form

    Ho una form(form1) di ricerca la quale mi può trovare tramite una select più record. Utilizzo un pulsante che al click mi esegue la select e mi apre un altra form(Elenco Clienti tramite Ricerca) la quale deve contere i dati della select. La form2 ha una struttura tabellare.
    Come posso visualizzare nella "Elenco Clienti tramite Ricerca" tutti i record che ho trovato tramite la select nella form1???

    codice:
    Private Sub Cerca_Cliente_Click()
    
    Dim sSelect As String
    Dim sSql As String
    Dim sWhere As String
    Dim stDocName As String
    Dim stLinkCriteria As String
    
    sSql = "SELECT Clienti.Cod_Cliente, Clienti.Cod_Progressivo, Clienti.Cognome, Clienti.Nome, Clienti.Città, Clienti.[Indirizzo 1], Clienti.[Indirizzo 2], Clienti.CAP, Clienti.[Telefono 1], Clienti.[Telefono 2], Clienti.Cellulare, Clienti.FAX, Clienti.Email, Clienti.[Data di Nascita], Clienti.Nazionalità, [Categoria Classe].[Categoria Classe], [Categoria Professionale].[Tipo categoria]FROM [Categoria Professionale] INNER JOIN ([Categoria Classe] INNER JOIN Clienti ON [Categoria Classe].Cod_classe = Clienti.Cod_Classe) ON [Categoria Professionale].cod_Categoria = Clienti.Cod_Categoria"
    
    sWhere = ""
    
    If Cognome <> "" Then
    sWhere = sWhere & " Clienti.Cognome LIKE '" & Replace(Cognome, "'", "''") & "'"
    End If
    
    If Nome <> "" Then
    If sWhere <> "" Then sWhere = sWhere & " AND "
    sWhere = sWhere & " Clienti.Nome LIKE '" & Replace(Nome, "'", "''") & "'"
    End If
    
    If sWhere <> "" Then
    sSql = sSql & " WHERE " & sWhere
    End If
    
    MsgBox sSql
    Set rs = CurrentProject.Connection.Execute(sSql)
    
    stDocName = "Elenco Clienti tramite Ricerca"
    DoCmd.OpenForm stDocName, acNormal, "", "", acAdd, acNormal
    
    End Sub

  2. #2
    l'istruzione che hai scrito ha degli errori per quanto riguarda la parte sql. ricontrollala.
    inoltre per il vba esiste una sezione apposita.
    per fare quello che dici te ti consiglio di salvare il risultato della query in una tabella e richiamare essa dalla form oppure di salvare la query.vedi te.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    66
    per fare quello che dici te ti consiglio di salvare il risultato della query in una tabella e richiamare essa dalla form
    intendi avere una tabella di appoggio sulla quale salvo i risultati ogni volta che effettuo una ricerca e li visualizzo nella form dopodichè cancello la tabella quando non mi servono più i dati?????

  4. #4
    esatto.una tabella "temporanea". oppure puoi semplicemente dichiarare il recordset come variabil public e richiamarlo dalla form2 e utilizzarlo come "base dati" per la tua form.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    66
    ok....però questa cosa non la saprei fare in vba....cioè non so il codice da utilizzare......
    scusa ma non sono pratico di vb

  6. #6
    mi correggo...credevo si potesse fare con il recordset e invece vengono accettate solo le stringhe.
    allora dichiari una varibile string public nella tua form1 e ci salvi la query di ricerca.
    nella form2, nell'azione "open" usi l'istruzione me.recordsource a cui assegni il valore della stringa della form1.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    66
    quindi qui quando apro la form2 la prima istruzione che eseguo è "Me.recordsource = variabile public" sbaglio???????
    così facendo mi "compila" la form con tutti i record estratti dalla query????????

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