Problema campo maschera

di il
23 risposte

Problema campo maschera

Salve,
ho una maschera con diversi campi con origine dati da una query. Uno di tali campi è IDEsemplare - indice univoco - che è la numerazione degli oggetti della mia collezione.
Ho 2 pulsanti che mi ricercano un'esemplare che voglio visualizzare. Ad esempio uno di questi ha questo codice:

Private Sub Comando12_Click()
Dim strsearch As String
Dim strText As String
strText = Me.TxtGenusSearch.Value
strsearch = "SELECT * from Collezione where (Genus like """ & strText & "*"") or (Subgenus like """ & strText & "*"")"
Me.RecordSource = strsearch
End Sub

La ricerca avviene correttamente ma il problema che ne deriva è che il campo IDEsemplare mi restituisce: #Nome? - anzichè il numero univoco relativo all'esemplare ricercato.

Ho anche 2 pulsanti di reset, per immettere il nome di un altro esemplare e un tasto "mostra tutti" che mi mostra la collezione dal primo esemplare. Funziona tutto anche qui, tranne lo stesso problema dell'IDEsemplare.

Devo aggiungere qualcosa al codice?

Grazie.
Daniele

23 Risposte

  • Re: Problema campo maschera

    Non stai cercando ma circoscrivendo i dati, nemmeno dico Filtrare perché il metodo che usi è poco corretto, ma sono 2 concetti tecnici estremamente differenti.
    Tu vuoi cercare o filtrare...?
    Se vuoi cercare si usa FindFirst sul recordsetclone
    Se vuoi filtrare si usa Filter e non si modifica il RecordSource anche se genera un risultato confrontabile... ma per diversi motivi è meglio usare filter...

    Ora se ti viene restituito #Nome di sicuro qualche cosa di errato fa fallire anche se parzialmente la selezione...
    Prova ad inserire quel predicato sql in una query da QBE e vedi cosa accade...
  • Re: Problema campo maschera

    Grazie per la risposta. Non ho scritto io quel codice, non capisco il visual basic. Non capisco che devo fare. Qual'è il predicato da inserire, dove lo inserisco. Cpme modifico con filter il codice.
    Grazie.
  • Re: Problema campo maschera

    Ho paura di mettere troppa altra carne sul fuoco, ma provo lo stesso a dare un mio contributo. Premesso che non si capisce se devi filtrare o cercare...prova a sfruttare questa procedura:
    1) Apri la maschera in Visualizzazione struttura
    2) Clicca sull'icona chiave inglese e martello Casella degli strumenti, scegli Casella combinata e disegnala nella zona desiderata
    3) Si aprirà una finestra Creazione guidata di casella combinata, scegli "Trova un record nella maschera basato sul valore selezionato nella casella combinata", Avanti
    4) Continua tutte le finestre successive fino alla fine
  • Re: Problema campo maschera

    Grazie Osvaldo,
    non è la stessa cosa, principalmente perchè possono esserci più esemplari che hanno lo stesso nome e con il metodo da te suggerito vedo il primo e gli altri non sono quasi mai in sequenza. Con il mio codice mi restituisce gli esemplari con lo stesso nome e solo loro, ma mi occorre il IDEsemplare che identifica il numero progressivo degli esemplari.
    Non so la differenza tra filtrare e cercare, Alex non me l'ha spiegata e anzi, in quello che mi ha scritto, per quanto apprezzabile e ringrazio, per la sua risposta, non ci ho capito nulla e non mi è servita a nulla.
  • Re: Problema campo maschera

    Il suggerimento che ti ho fornito funziona molto bene con maschera/sottomaschera...ma questo presuppone ci sia una adeguata strutturazione dati. Se tu raccontassi "dettagliatamente":
    - nome proprio maschera
    - nome proprio della query
    - nomi propri di tutti i campi
    - rispiega tutto usando i nomi propri, magari fai anche un esempio pratico
  • Re: Problema campo maschera

    Osvaldo,
    c'è un campo dove inserisco il nome dell'esemplare che voglio cercare, anche parzialmente e poi clicco sul pulsante che mi trova tutti gli esemplari con quel nome e solo quelli. Io voglio che sia così, non con la casella combinata. Vorrei capire perchè mi viene #nome? su IDEsemplare.
  • Re: Problema campo maschera

    Resetto il mio discorso. Hai detto che tutto funziona correttamente, appare solo quel "fastidioso" #Nome?. Probabilmente hai la proprietà "Nome controllo" non coerente con il campo sottostante...oppure c'è qualche riferimento (VBA, SQL...non saprei) lì che non torna.
  • Re: Problema campo maschera

    Le proprietà sembrano a posto, ho anche provato a reinserire il campo IDEsemplare. Il codice proprio non saprei, lo chiedo appunto a voi.
  • Re: Problema campo maschera

    Almeno per me, senza conoscere i NOMI PROPRI di tutta "la tua baracca" è difficile cominciare un approccio. Ribadisco
    Descrivi "dettagliatamente":
    - nome proprio maschera
    - nome proprio della query
    - nomi propri di tutti i campi
    - rispiega tutto usando i nomi propri
    - racconta con un esempio pratico
  • Re: Problema campo maschera

    skipperdan ha scritto:


    Grazie per la risposta. Non ho scritto io quel codice, non capisco il visual basic. Non capisco che devo fare. Qual'è il predicato da inserire, dove lo inserisco. Cpme modifico con filter il codice.
    Grazie.
    Allora credo sia un problema di basi, senza quelle, facciamo fatica ad interagire e, più che un suggerimento ti serve tutto preparato.
  • Re: Problema campo maschera

    Alex, si, non posso interagire con te perchè quello che mi suggerisci è troppo fuori dalla mia portata e non si può imparare in un secondo. Quindi, attendo qualcun altro che riesca a "parlare" con me, che non sei tu.
    Grazie.
  • Re: Problema campo maschera

    No non è un problema legato a me, e guardati bene dal fare affermazioni su chi ti può rispondere,... sei tu che prima di interagire con il Forum devi avere le Basi, è esposto nel Regolamento e deve esserTI CRISTALLINO.
  • Re: Problema campo maschera

    Non ho le basi. Devo andarmene?
  • Re: Problema campo maschera

    skipperdan ha scritto:


    Non ho le basi. Devo andarmene?
    Se vuoi fartele, ti ascoltiamo... altrimenti sei libero.
Devi accedere o registrarti per scrivere nel forum
23 risposte