+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Listbox e apertura Form su record

  1. #1
    domedele non è in linea Novello
    Post
    9

    Listbox e apertura Form su record

    Buongiorno a tutti,
    sono abbastanza neofita su Access e sto cercando di mettere su un form di ricerca (al momento un solo parametro) che mi da una listbox con i risultati.

    L'esempio da cui ho tratto ispirazione è il 3.49 presente in form a questo indirizzo:
    Sito Comune - it.comp.appl.access

    Ora mi piacerebbe che cliccando su un record della listbox mi si apra la maschera del record corrispondente.
    Sto lavorando sul mdb del sitocomune per capirne la logica. Quindi:
    - ho creato una maschera "Anagrafica"
    - ho provato con questa sintassi andando nei controlli su evento/doppio clic della maschera "Ricerche"

    codice:
    Private Sub List_DblClick(Cancel As Integer)
    DoCmd.OpenForm "Anagrafica", , , "[ID] = " & Me.List.Column(0).Value
    End Sub
    Mi da un errore "424". In cosa sbaglio?

    Grazie

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,516
    Non mi risulta che l'array Column esponga una proprietà definita Value...!
    La proprietà Value è dell'Oggetto ListBox e, rileva di Default la Column definita come BoundColumn... o Colonna Associata.
    Ne consegue che se, come si fa di solito, la Colonna associata è la prima(Indice 0) potrai scrivere così
    codice:
    Private Sub List_DblClick(Cancel As Integer)
    DoCmd.OpenForm "Anagrafica", , , "[ID] = " & Me.List.Value
    ' Oppure
    DoCmd.OpenForm "Anagrafica", , , "[ID] = " & Me.List.Column(0)
    End Sub
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  3. #3
    Phil_cattivocarattere non è in linea Scribacchino
    Luogo
    Verona-Mantova
    Post
    1,734
    Quote Originariamente inviato da domedele Visualizza il messaggio
    ...

    L'esempio da cui ho tratto ispirazione è il 3.49 presente in form a questo indirizzo:
    Sito Comune - it.comp.appl.access
    ...
    Mi da un errore "424". In cosa sbaglio?
    Hai scaricato il file in formato A97? Verifica i riferimenti. Probabilmente là c'è ancora il riferimento a DAO 3.5 mentre si è passati a DAO 3.6 da parecchio. Guarda i Riferimenti dalla finestra VBE (si apre anche con Alt+F11) e sistema quelli mancanti.

  4. #4
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,516
    Quote Originariamente inviato da Phil_cattivocarattere Visualizza il messaggio
    Hai scaricato il file in formato A97? Verifica i riferimenti. Probabilmente là c'è ancora il riferimento a DAO 3.5 mentre si è passati a DAO 3.6 da parecchio. Guarda i Riferimenti dalla finestra VBE (si apre anche con Alt+F11) e sistema quelli mancanti.
    Non può essere un problema di DAO versione vecchia, la retrocompatibilità è di norma garantita, non viceversa... ma non è il caso... altri Riferimenti invece potrebbe essere... ma visto che quel codice inserito non arriva dal Demo Originale quanto da [domedele] ed è palesempente errato... sarei più propenso per sistemare prima quello...
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  5. #5
    domedele non è in linea Novello
    Post
    9

    Thumbs up

    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Non mi risulta che l'array Column esponga una proprietà definita Value...!
    La proprietà Value è dell'Oggetto ListBox e, rileva di Default la Column definita come BoundColumn... o Colonna Associata.
    Ne consegue che se, come si fa di solito, la Colonna associata è la prima(Indice 0) potrai scrivere così
    codice:
    Private Sub List_DblClick(Cancel As Integer)
    DoCmd.OpenForm "Anagrafica", , , "[ID] = " & Me.List.Value
    ' Oppure
    DoCmd.OpenForm "Anagrafica", , , "[ID] = " & Me.List.Column(0)
    End Sub
    Grazie. Nel frattempo...cercando...
    opening a form using a listbox and a button - Microsoft Access / VBA

    Ho utilizzato questo codice e sembra funzionare

    codice:
    Private Sub List_DblClick(Cancel As Integer)
    DoCmd.OpenForm "Anagrafica", , , "[ID]=" & Me.List
    End Sub

    Cosa cambia?

  6. #6
    Phil_cattivocarattere non è in linea Scribacchino
    Luogo
    Verona-Mantova
    Post
    1,734
    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Non può essere un problema di DAO versione vecchia, la retrocompatibilità è di norma garantita, non viceversa... ma non è il caso... altri Riferimenti invece potrebbe essere... ma visto che quel codice inserito non arriva dal Demo Originale quanto da [domedele] ed è palesempente errato... sarei più propenso per sistemare prima quello...
    Quote Originariamente inviato da domedele Visualizza il messaggio
    Grazie. Nel frattempo...cercando...
    opening a form using a listbox and a button - Microsoft Access / VBA

    Ho utilizzato questo codice e sembra funzionare
    Uffa, ha sempre ragione lui! ( )
    Quote Originariamente inviato da domedele Visualizza il messaggio
    codice:
    Private Sub List_DblClick(Cancel As Integer)
    DoCmd.OpenForm "Anagrafica", , , "[ID]=" & Me.List
    End Sub
    Cosa cambia?
    E' esattamente la stessa cosa di quanto suggerito da @Alex con
    codice:
    DoCmd.OpenForm "Anagrafica", , , "[ID] = " & Me.List.Value
    visto che .Value è la proprietà di default e VBA la legge automaticamente quando non è indicata alcuna proprietà specifica.
    La sintassi di @Alex invece esplicita tutto, come è suggeribile.

  7. #7
    domedele non è in linea Novello
    Post
    9
    Grazie ancora.
    Un' ultima cosa. Ora sempre dall'esempio citato di sitocomune ho messo più parametri di ricerca (uno di testo e un checkbox). Sembra che tutto funzioni ma un dubbio mi assale: sono tre filtri che lavorano indipendentemente giusto?
    Ovvero ne posso utilizzare uno alla volta e non in combinazione.
    Il dubbio mi viene cercando di capire a cosa serve questo codice dopo l'after update di ciascun controllo

    codice:
    Private Sub Loca_AfterUpdate()
    Me.Ditta = Null
    Me.ID = Null
    Me.Prov = Null
    End Sub

  8. #8
    Phil_cattivocarattere non è in linea Scribacchino
    Luogo
    Verona-Mantova
    Post
    1,734
    Quote Originariamente inviato da domedele Visualizza il messaggio
    ...
    Un' ultima cosa. Ora sempre dall'esempio citato di sitocomune ho messo più parametri di ricerca (uno di testo e un checkbox). Sembra che tutto funzioni ma un dubbio mi assale: sono tre filtri che lavorano indipendentemente giusto?
    Ovvero ne posso utilizzare uno alla volta e non in combinazione.
    Non lo so, non riesco ad aprire in file in formato A97 adesso. Però se in base a questo codice
    Quote Originariamente inviato da domedele Visualizza il messaggio
    ....
    codice:
    Private Sub Loca_AfterUpdate()
    Me.Ditta = Null
    Me.ID = Null
    Me.Prov = Null
    End Sub
    i controlli Ditta, ID e Prov, oltre a Loca, sono quelli che contengono gli elementi da ricercare, sì, significa che tutto è studiato per fare la ricerca in base ad un criterio solo, visto che imposta a Null tutti gli altri
    Qualcosa di più recente e soprattutto flessibile è stato realizzato anche da @Alex (se lo trovo, o comunque posto una serie di link dove è stato trattato l'argomento)
    E intanto uno: Maschera di ricerca Flessibile nei criteri e nei Campi
    e qui trovi parecchi link che trattano l'argomento oltre a spiegazioni dettagliate di @Alex caselle di testo per ricerca record
    Ultima modifica di Phil_cattivocarattere; 20-10-2015 14:15 

  9. #9
    domedele non è in linea Novello
    Post
    9
    Quote Originariamente inviato da Phil_cattivocarattere Visualizza il messaggio
    Non lo so, non riesco ad aprire in file in formato A97 adesso. Però se in base a questo codice
    i controlli Ditta, ID e Prov, oltre a Loca, sono quelli che contengono gli elementi da ricercare, sì, significa che tutto è studiato per fare la ricerca in base ad un criterio solo, visto che imposta a Null tutti gli altri
    Qualcosa di più recente e soprattutto flessibile è stato realizzato anche da @Alex (se lo trovo, o comunque posto una serie di link dove è stato trattato l'argomento)
    E intanto uno: Maschera di ricerca Flessibile nei criteri e nei Campi
    e qui trovi parecchi link che trattano l'argomento oltre a spiegazioni dettagliate di @Alex caselle di testo per ricerca record
    Grazie. Per il momento può andar bene un criterio solo.
    Ho ancora una domanda: l'esempio citato (3.49) contiene una stampa report che però stampa tutti i valori della tabella non i contenuti della listbox come vorrei.

    Mi potete instradare su una soluzione di questo genere?
    Grazie

  10. #10
    Phil_cattivocarattere non è in linea Scribacchino
    Luogo
    Verona-Mantova
    Post
    1,734
    Quote Originariamente inviato da domedele Visualizza il messaggio
    ...
    Ho ancora una domanda: l'esempio citato (3.49) contiene una stampa report che però stampa tutti i valori della tabella non i contenuti della listbox come vorrei.
    ...
    Facendo attenzione a non andare troppo fuori dall'oggetto del thread (richieste diverse: thread diversi, altrimenti chi può immaginare che in un thread con oggetto "Listbox e apertura Form su record" si parla anche di stampa di una listbox filtrata?) ti chiedo una cortesia: potresti postare la versione del tuo db o quella di SitoComune in formato NON Access97? Tutti quelli che, come me, hanno a disposizione A2013 non riescono ad aprire quel file.
    Se non riesci ad allegarlo qui con il pulsante "gestione allegati", devi caricarlo su un filehost e pubblicare il link per il download

+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi