Newsgroup: it.comp.appl.access
Titolo: Ottimizzare Maschera

> .
Premetto che all'apertura della maschera viene applicato un filtro che mi
porta direttamente alla tavola voluta.
Il mio problema è che quando apro la maschera e mi posiziono sulla tavola
indicata, poi non riesco ad andare avanti o indietro
con i pulsanti <<  >>   , riesco solo se prima mi sposto su un'altra tavola
cliccando quella desiderata  nella
casella combinata Elenco Tavole.
Spero di essere stato chiaro .
Un grazie anticipato a chi mi potrà aiutare
Ciao Giuseppe

 casella combinata Elenco Tavole.
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------


Ti chiedo scusa ma non mi è chiara la procedura da fare ,ti ricordo che io
sono solo un utilizzatore di access.
dalla tua risposta ho visto che hai capito il problema che in effetti è
quello di poter avanzare o arretrare nelle tavole
cambiando la figura ( controllo Immagine) e i dati della sottomaschera
(sempre agganciati all'Immagine)
La 1  su l'evento Su corrente c'è gia una routine :
Private Sub Form_Current()
On Error Resume Next
Me![Immagine].Picture = Me![Path]
End Sub
La 2 non riesco a mettere insieme i pezzi !!!
Hai ben capito
Se mi puoi fare qualche esempio per le due procedure  te ne sarei
immensamente grato.
Ciao Giuseppe

 immensamente grato.
    Questo dovrebbe funzionare:
Option Compare Database: Option Explicit
Private Sub VaiSuGiů( _
  ByVal SuGiů As Integer)
  With Me.cmbElenco
    .Value = .Column(.BoundColumn - 1, .ListIndex + SuGiů)
  End With
End Sub
Private Sub cmdSu_Click()
  With Me.cmbElenco
    If (.ListIndex > 0) Then
      VaiSuGiů -1
    Else
      Beep
    End If
  End With
End Sub
Private Sub cmdGiů_Click()
  With Me.cmbElenco
    If (.ListIndex < .ListCount - 1) Then
      VaiSuGiů 1
    Else
      Beep
    End If
  End With
End Sub




Ciao Maurizio
Ho fatto tutto come descritto perň non funziona,
premendo i pulsanti >> cmdSu  o <<cmdGiů si vede soltanto scorrere
evidenziata la riga
precedente o successiva della casella di riepilogo cmbElenco ma la maschera
non viene
aggiornata con una nuova immagine e con una nuova query sulla sottoscheda
Ciao Giuseppe

 aggiornata con una nuova immagine e con una nuova query sulla sottoscheda
    Pero' tu hai gia' tutto quello che serve per ottenere tale risultato, se
non sbaglio. Allora non devi far altro che richiamare il tuo codice (o
macro?) al termine di quello che ti ho scritto:
Private Sub VaiSuGiů( _
  ByVal SuGiů As Integer)
  With Me.cmbElenco
    .Value = .Column(.BoundColumn - 1, .ListIndex + SuGiů)
  End With
  ' Qui chiami il tuo codice


 ha scritto nel messaggio
news:ak9vao$1h1t4p$3...@ID-52090.news.dfncis.de...

OK ho fatto come descritto sopra e comincia a funzionare,
devo perň risolvere qualche problema .
1)Il  funzionamento dei pulsanti >>su  e <<giů quando apro la maschera da un
pulsante
che mi applica il filtro per visualizzare la tavola desiderata, non
funzionano se prima non
faccio clic sulla casella combinata Elenco Tavole  , ho provato anche a
levare il filtro ,quindi
come viene aperta la maschera si posiziona sulla prima tavola   niente , ho
dato il focus alla casella
combinata Elenco Tavole, niente
2)Una volta attivato con il clic la casella combinata Elenco Tavole va tutto
bene posso scorrere la riga evidenziata con  >>
cambiando tavola ,solo che se vado all'ultima riga ( es. tavola 10di 10 ) e
proseguo ,scompare la riga evidenziata
e anche tornando indietro con  <<  non viene piů visualizzata.
Lo stesso effetto  se vado oltre la prima riga (es.tavola 1di 10)
Riporto qui di seguito il codice come č ora:
Private Sub VaiSuGiů(ByVal SuGiů As Integer)
With Me.Elenco_Tavole
.Value = .Column(.BoundColumn - 1, .ListIndex + SuGiů)
End With
 DoCmd.GoToControl "Tavola"
 DoCmd.FindRecord "Elenco Tavole"
End Sub
 Private Sub cmdSu_Click()
With Me.elenco_TAVOLE
        If (.ListIndex < .ListCount - 0) Then
        VaiSuGiů -1
        DoCmd.GoToRecord acForm, "AMICO_GL", acPrevious
    Else
              Beep
    End If
    End With
End Sub
Private Sub cmdGiů_Click()
  With Me.Elenco_Tavole
    If (.ListIndex > -1) Then
    VaiSuGiů 1
        DoCmd.GoToRecord acForm, "AMICO_GL", acNext
    Else
              Beep
    End If
    End With
End Sub
Ciao Giuseppe

 End Sub
--
Ciao :-)


     QUI non ci va nessun codice.

 Ho fatto tutto come le tue istruzioni  ( spero, sono cotto)
Private Sub VaiSuGiů(ByVal SuGiů As Integer)
With Me.elenco_TAVOLE
.Value = .Column(.BoundColumn - 1, .ListIndex + SuGiů)
End With
 If (SuGiů = -1) Then
 DoCmd.GoToRecord acForm, "AMICO_GL", acPrevious
 Else
 DoCmd.GoToRecord acForm, "AMICO_GL", acNext
 End If
End Sub
 Private Sub cmdSu_Click()
With Me.elenco_TAVOLE
        If (.ListIndex < .ListCount - 0) Then
        VaiSuGiů -1
    Else
      Beep
    End If
    End With
End Sub
Private Sub cmdGiů_Click()
  With Me.elenco_TAVOLE
    If (.ListIndex > -1) Then
    VaiSuGiů 1
    Else
    Beep
    End If
    End With
End Sub
L'effetto č lo stesso  se apro la maschera filtrando o non filtrando i
record
la prima azione che fň č premere i pulsanti >> o << ottengo solo Beep Beep
se invece la prima operazione č quella di cliccare nella casella
Elenco_Tavole,
poi i pulsanti funzionano perfettamente ( rimane solo il problema del punto
2)
Spero di essere stato chiaro sic!!!!!!!!
P.S. ho sempre scitto casella combinata Elenco_Tavole ma in effetti č una
casella di riepilogo
Vado a mangiare non ne posso piů
Ciao Giuseppe