Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[access 2003] DoCmd.GoToRecord tra due maschere diverse

195 views
Skip to first unread message

kar...@gmail.com

unread,
Nov 15, 2012, 1:57:58 PM11/15/12
to
Salve a tutti.
Utilizzo da poco access 2003 e vorrei porvi un quesito:
ho un Mdb con una sola tabella (tabella1) con vari campi di cui il primo (ID) chiave primaria automatica.
Ho poi due maschere (maschera1, maschera2 entrambe collegate alla tabella1).
La prima in forma tabellare, elenca i record della tabella1 mostrandone solo alcuni campi (tra cui al primo posto l'ID).
La seconda, invece, contiene tutti i dati della tabella in forma non tabellare.

Vorrei al doppio click sul campo ID della maschera1 lanciare la maschera2 che dovrebbe visualizzare tutti i campi dell'ID selezionato.

Ho provato cosi':

Private Sub ID_DblClick(Cancel As Integer)

Dim stDocName As String
Dim MioId As Long
MioId = Me.ID
stDocName = "Maschera2"
DoCmd.OpenForm stDocName
DoCmd.GoToRecord acDataForm, stDocName, acGoTo, MioId
End Sub

Purtroppo, nonostante la variabile MioId contiene il valore giusto, dopo l'apertura della maschera2 ho il seguente errore:
Errore di run-time 2105. Impossibile passare al record specificato.

Potreste aiutarmi a risolvere ?

Grazie

Karl Donaubauer

unread,
Nov 15, 2012, 5:02:15 PM11/15/12
to
kar...@gmail.com wrote:
> ...
> Dim stDocName As String
> Dim MioId As Long
> MioId = Me.ID
> stDocName = "Maschera2"
> DoCmd.OpenForm stDocName
> DoCmd.GoToRecord acDataForm, stDocName, acGoTo, MioId
> End Sub
>
> Purtroppo, nonostante la variabile MioId contiene il valore giusto,
> dopo l'apertura della maschera2 ho il seguente errore:
> Errore di run-time 2105. Impossibile passare al record specificato.
> ...

Il parametro per GoToRecord dev'essere la posizione
del record nella maschera, cioč 1 = primo record,
2 = secondo record ecc.

Se le due maschera hanno sempre gli stessi record
nello stesso ordinamento puoi provarlo cosě:

DoCmd.GoToRecord acDataForm, stDocName, _
acGoTo, Me.CurrentRecord

Se invece vuoi usare l'Id per la navigazione puoi usare questa
riga di codice:

Forms(stDocName).Recordset.FindFirst "Id=" & MioId

Con questa variante l'ordinamento non interessa perché
non si riferisce alla posizione nella maschera.

--
Ciao
Karl
*********
Access FAQ: http://www.donkarl.com/it

kar...@gmail.com

unread,
Nov 16, 2012, 1:19:25 AM11/16/12
to
Grazie. Ho risolto.
0 new messages