Tasella di testo = rispettivo record

di il
7 risposte

Tasella di testo = rispettivo record

Ciao a tutti,
problemino:
Ho una maschera in cui vi è una casella di testo (inizialmente vuota). Con un pulsante la riempio con un determinato valore numerico da 1 a 30.
Poi ho una tabella con 30 records, con due campi: in uno numerico ho messo i valori (uguali da 1 a 30) e nell' altro campo ho messo un path per la rispettiva immagine.
Nella maschera ho il collegamento all' immagine ma non riesco proprio a farmi aprire l'immagine del record corrispondente al numero che ho nella casella di testo (mi parte sempre dal 1°record).
Chi mi dà una "cucchiaiata"..... (non in fronte, è?)..... per far si che mi faccia vedere l' immagine coretta?

7 Risposte

  • Re: Tasella di testo = rispettivo record

    Per gestire una cosa del genere ti serve un codice VBA, ma abbiamo bisogno di una descrizione più dettagliata:
    - nome maschera
    - nomi tabelle
    - nomi controlli
    - dove sta la casella combinata

    Per far partire l'apertura di un path scritto in un campo di tipo Testo si usa l'istruzione FollowHyperlink...ma occorre inquadrarla correttamente...
  • Re: Tasella di testo = rispettivo record

    Filippo70 ha scritto:


    Ciao a tutti,
    problemino:
    Ho una maschera in cui vi è una casella di testo (inizialmente vuota). Con un pulsante la riempio con un determinato valore numerico da 1 a 30.
    Poi ho una tabella con 30 records, con due campi: in uno numerico ho messo i valori (uguali da 1 a 30) e nell' altro campo ho messo un path per la rispettiva immagine.
    Nella maschera ho il collegamento all' immagine ma non riesco proprio a farmi aprire l'immagine del record corrispondente al numero che ho nella casella di testo (mi parte sempre dal 1°record).
    Chi mi dà una "cucchiaiata"..... (non in fronte, è?)..... per far si che mi faccia vedere l' immagine coretta?
    Prima di tutto, per la selezione, usa una CasellaCombinata associata alla Tabella con 2 Colonne, se non vuoi vedere il PATH rendi la 2° colonna a larghezza=0, che mostra l'indice numerico... e ti consente di scegliere.

    Quindi definiamo
    1 ComboBox con OrigineRiga basata sulla Tabella chiamato [NomeCombo]
    SELECT ID, PATH FROM NomeTabella ORDER BY ID
    La combo avrà 2 Colonne, con colonna associata la 1°(che ha indice=n-1)
    Larghezza colonne=2cm;0cm
    Aggiungi un controllo Immagine chiamato [NomeControlloImmagine]
    Su evento DOPOAGGIORNAMENTO della CasellaCombinata(ComboBox) devi scrivere 1 riga...
    
    Private Sub NomeCombo_AfterUpdate()
       If FileExist(Me.NomeCombo.Column(1)) Then Me.NomeControlloImmagine.Picture=Me.NomeCombo.Column(1)
    End Sub
    
    ' Questo in un Modulo Public
    Public Function FileExist(ByVal str As String) As Boolean
        On Error Resume Next
        FileExist = (GetAttr(str) And vbDirectory) = 0
    End Function

    Rinomina come meglio credi...
  • Re: Tasella di testo = rispettivo record

    Grazie mille @Alex!!!
    Ma come facevo ad imparare una cosa così!
    p.s. Ho tolto la funzione (FILE_EXIST] perchè sono sicuro che il file esiste.
    Poi, fatta la casella combinata (come mi hai indicato), l' ho resa invisibile e ho fatto in modo che sia uguale alla mia casella di testo (quella in cui ho il risultato delle operazioni). E' giusto così?
    Adesso il mio 2°programmino, strutturalmente è finito. Però è da guardare solo dal lato della maschera, vietato guardarci dietro!
    Grazie ancora per i vostri preziosi consigli!!!
    Buon pomeriggio.
  • Re: Tasella di testo = rispettivo record

    Filippo70 ha scritto:


    Grazie mille @Alex!!!
    Ma come facevo ad imparare una cosa così!
    p.s. Ho tolto la funzione (FILE_EXIST] perchè sono sicuro che il file esiste.
    Male... concettualmente è bene non lasciare al caso queste attenzioni.

    Filippo70 ha scritto:


    Poi, fatta la casella combinata (come mi hai indicato), l' ho resa invisibile e ho fatto in modo che sia uguale alla mia casella di testo (quella in cui ho il risultato delle operazioni). E' giusto così?
    Se va bene a te... sicuramente va bene anche a me... come quanto hai fatto sopra...!

    Filippo70 ha scritto:


    Adesso il mio 2°programmino, strutturalmente è finito. Però è da guardare solo dal lato della maschera, vietato guardarci dietro!
    Grazie ancora per i vostri preziosi consigli!!!
    Buon pomeriggio.
  • Re: Tasella di testo = rispettivo record

    Ok per la gestione dell' errore!
    Per quanto riguarda la casella combinata intendevo sapere se avevo recepito bene il tuo suggerimento, in quanto io ho un valore [Casella di Testo] che mi esce da un operazione e non lo devo scegliere io, quindi ho fatto:
    Me.TuaCombo = Me.MiaCasellaTesto
    Può andar bene o è una schifezza?
    Solo Sì/No.
    Grazie.
  • Re: Tasella di testo = rispettivo record

    In quel caso basta un DlookUp come ControlSource... ma alcune volte(nelle Maschere continue) faccio cos' come hai fatto tu.
  • Re: Tasella di testo = rispettivo record

    @Alex ha scritto:


    ... ma alcune volte(nelle Maschere continue) faccio cos' come hai fatto tu.
    Detto da te ......
    ..... Mi vien voglia di fare subito un altro db!
Devi accedere o registrarti per scrivere nel forum
7 risposte