Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [DELPHI] Ricerca e visualizzazione valori in Tedit ad ogni click di un pulsante

    BuonGiorno a tutti. Ho un piccolo problemino
    Premettendo che ho usato dei componenti Interbase tra cui (IBDatabase, IBQuery, IBTransaction, e DataSource)...Ho fatto in modo che al click di un tasto ricerca...mi vengano restituiti in degli Edit dei valori che si trovano in un DBFirebird(Tramite una ricerca per nome).
    Ora devo fare in modo che...al click di un tasto i valori visualizzati devono cambiare...Ovvero mi devono essere visualizzati negli edit...i valori del record successivo a quello in cui si trovano ora i valori visualizzati. Suggerimenti??

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    chiaramente il tuo tedit e' associato al datasource che e' associato al componente tquery... e ovviamente questi valori sono readonly.

    bene, associa al datasource anche barra di navigazione. e risolvi il tuo 'piccolo problemino'.

    ciao

  3. #3
    Ehm...Scusami Potresti spiegare meglio? Cosa intendi per barra di navigazione? Magari io la chiamo diversamente...
    Cmq da design sono riuscito a fare tutte le associazioni....è da codice che sto pensando a come fare.

  4. #4
    Altra cosa che non riesco a capire. Quando faccio la ricerca...ho messo uno showMessage per esser sicuro che la esegue. La esegue correttamente...e mi visualizza i risultati negli edit...ma quando tolgo il messaggio....appena c'è il close della query...i valori che mi ha cercato non rimangono negli edit ma scompaiono.
    ????
    Con i tedit normali invece rimangono...

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    Originariamente inviato da gaetanotuning
    Altra cosa che non riesco a capire. Quando faccio la ricerca...ho messo uno showMessage per esser sicuro che la esegue. La esegue correttamente...e mi visualizza i risultati negli edit...ma quando tolgo il messaggio....appena c'è il close della query...i valori che mi ha cercato non rimangono negli edit ma scompaiono.
    ????
    Con i tedit normali invece rimangono...


    e' corretto, se esegui il close della query non ci sono valori.


    io ti consiglierei di fare cosi:

    codice:
    sul click del pulsante....:
    
          DM.IBQueryTMP.Close;
          DM.IBQueryTMP.SQL.Clear;
          DM.IBQueryTMP.SQL.add('select .... from .....');
          DM.IBQueryTMP.Open;

    comunque posta un po di codice!


    tra i componenti 'Data Controls' c'e' DBNavigator. inseriscilo sul tuo form e associalo al datasource della query

  6. #6
    Non ho fatto proprio così...ma sono riuscito lo stesso Grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    Originariamente inviato da gaetanotuning
    Non ho fatto proprio così...ma sono riuscito lo stesso Grazie
    semmai se posti anche la tua soluzione qualche altro utente potra' trovare spunto per un suo eventuale futuro dubbio.

  8. #8
    Ho associato tutti i TDBEdit con il DataSource che è associato con la TIBQuery(Tramite la proprietà DataSource), e ho associato ogni DBEdit al corrispettivo campo del DB(con la proprietà DataField)

    Poi sono passato al codice e ho fatto in modo che mi caricasse tutti i valori nel DataSource della Query...all'evento FormShow della Form.
    Il codice è il seguente :

    codice:
    Unit1.DataModule1.IBQuery4.Open;
    ENome1.Text := Unit1.DataModule1.IBQuery4.FieldByName('Nome').AsString;
    ECognome1.Text := Unit1.DataModule1.IBQuery4.FieldByName('Cognome').AsString;
    EReparto1.Text := Unit1.DataModule1.IBQuery4.FieldByName('Reparto').AsString;
    EPadiglione1.Text := Unit1.DataModule1.IBQuery4.FieldByName('Padiglione').AsString;
    MemoRicerca.Text := Unit1.DataModule1.IBQuery4.FieldByName('Descrizione').AsString;
    ENumRichieste1.Text := Unit1.DataModule1.IBQuery4.FieldByName('NumRich').AsString;
    EDataRichiesta1.Text := Unit1.DataModule1.IBQuery4.FieldByName('DataRich').AsString;
    EChiusuraRichiesta1.Text := Unit1.DataModule1.IBQuery4.FieldByName('DataChiuRich').AsString;
    Unit1.DataModule1.IBQuery4.First;
    Quì ho associato tutti i risultati della query ai DBEdit...e ho fatto posizionare l'indice al primo valore che stà nel DB.

    Successivamente ho creato un pulsante con un evento click con il seguente codice:
    codice:
    Unit1.DataModule1.IBQuery4.next;
    Questo è per far in modo che l'indice che punta al primo array cominci a scorrere. Per tornare indietro invece...basta fare:
    codice:
    Unit1.DataModule1.IBQuery4.prior
    Questo è tutto..Spero di esser stato abbastanza chiaro

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    bravo... tu si che riesci a complicarti la vita!

    bastava associare (nelle proprieta del tdbedit) i field del datasourse corrispondente e inserire un Tdbnavigator associandolo allo stesso datasource.

    otterresti lo stesso risultato senza scrivere alcun rigo di codice... e quindi senza la possibilità di commettere errori.

    ti consiglierei di pensarci.

  10. #10
    Una cosa è sicura...Non sono un utente già esperto come te. Sto ancora imparando e sono all'Inizio....Quindi forse è meglio incasinarsi un pò, anche perkè così si capiscono un pò i meccanismi che stanno alla base.
    Ora che sono a conoscenza del TDbnavigator lo prenderò sicuramente in considerazione la prossima volta.
    Metti che però non voglio utilizzare quell'antiestetico Dbnavigator....bisogna farlo con i pulsanti...e quindi anke col codice.
    Oppure...trovare altri componenti.
    A proposito di componenti...ne conosci alcuni free?? oltre ai TMS e i Jedi??

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.