Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

cerco routine VBA per access (selezionare un record)

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

cerco routine VBA per access (selezionare un record)

Postdi edozio » 25/10/06 15:22

Il titolo non è molto esplicativo, ma non sapevo come metterlo ...
Sto facendo un piccolo database in access per una polisportiva dilettantistica: contiene nominativi, indirizzi, telefono, ecc. più il tipo di attività (calcio, basket, ecc.), la categoria degli atleti e la scadenza della visita medica. il tutto è contenuto in una tabella.
Ho fatto una maschera in cui vengono elencati i nominativi (provenienti da una query) che hanno superato la data di scadenza della visita: l’elenco è visualizzato come maschera continua. Avrei bisogno di una routine visual basic che, quando faccio doppio click sul nominativo, mi apra la maschera di immissione/modifica dati facendomi vedere direttamente il record del nominativo che ho cliccato (senza dover "sfogliare" tutti i record - sono circa 200 atleti...).
Non so se è chiaro ….:undecided:
Grazie infinite a chiunque mi darà una mano. :)
"Ho fatto cose... discutibili. Cose per cui il Dio della biomeccanica non mi farebbe entrare in paradiso. "
edozio
Utente Senior
 
Post: 217
Iscritto il: 04/04/04 16:11
Località: 45°51' N 9°24' E

Sponsor
 

Postdi archimede » 25/10/06 17:14

Supponiamo che la tua maschera si chiami Maschera1.

1) Crea una maschera (Maschera2) che contiene tutti i campi del singolo record che vuoi modificare (ovviamente basata sulla tua tabella)

2) Crea una macro con Azione ApriMaschera e Condizione WHERE [ChiavePrimaria]=[Maschere]![Maschera1]![ChiavePrimaria] (dove ChiavePrimaria è il nome del campo chiave primaria della tua tabella)

3) In Maschera1 nell'evento Su doppio clic del campo nominativo metti il nome della macro di cui sopra

HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi edozio » 25/10/06 22:01

WOW!
perfetto!!! funziona benissimo. :D
C'è però un problema:
Dapprima ho utilizzato come maschera 2 la form che avevo preparato per l'immissione dati, ma mettendo il filtro nella macro la form mi risulta filtrata e quindi vedo per sempre solo il record scelto e non più gli altri (anche quando accedo alla form per immettere nuovi dati). Allora ho fatto come maschera 2 una seconda form simile a quella di immissione dati ma con un altro nome che viene richiamato nella macro. Ora questa form mi fa vedere il record scelto senza influenzare la form di immissione dati. Però in questa form non posso modificare i dati!!! Che era poi l'obbiettivo finale: richiamare il record voluto per correggere direttamente i dati nella maschera! ho provato in ogni modo (beh, i modi che conosco sono proprio pochini ....) ma niente da fare. :cry:
Qualche consiglio?
GRAZIE!!!
"Ho fatto cose... discutibili. Cose per cui il Dio della biomeccanica non mi farebbe entrare in paradiso. "
edozio
Utente Senior
 
Post: 217
Iscritto il: 04/04/04 16:11
Località: 45°51' N 9°24' E

Postdi archimede » 27/10/06 08:49

Devi verificare le proprietà della maschera, in particolare (credo) Consenti modifiche.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi edozio » 27/10/06 13:15

archimede ha scritto:Devi verificare le proprietà della maschera, in particolare (credo) Consenti modifiche.

Stasera provo a controllare, anche se quelle opzioni lì le avevo fatte passare tutte (o almeno credo .... sono talmente tante!).
Intanto ti ringrazio, anche per la pazienza ;)
PS: ma 'sto Access potevano farlo un po' più semplice!
"Ho fatto cose... discutibili. Cose per cui il Dio della biomeccanica non mi farebbe entrare in paradiso. "
edozio
Utente Senior
 
Post: 217
Iscritto il: 04/04/04 16:11
Località: 45°51' N 9°24' E

Postdi archimede » 27/10/06 13:47

edozio ha scritto:PS: ma 'sto Access potevano farlo un po' più semplice!
Prova un altro db e poi mi sai dire...

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi edozio » 27/10/06 20:37

archimede ha scritto:Devi verificare le proprietà della maschera, in particolare (credo) Consenti modifiche.

HTH.

Alessandro

Niente da fare. Come pensavo, avevo già abilitato tutte le opzioni "consenti" (modifiche, eliminazioni, aggiunte, immissione dati). La maschera è abilitata e non bloccata ..... Posso "entrare" nelle caselle di testo, ma non modificarne i valori .... Non so che dire ... :-?
PS: non c'entra niente, ma .... che vuol dire HTH?
"Ho fatto cose... discutibili. Cose per cui il Dio della biomeccanica non mi farebbe entrare in paradiso. "
edozio
Utente Senior
 
Post: 217
Iscritto il: 04/04/04 16:11
Località: 45°51' N 9°24' E

Postdi archimede » 29/10/06 08:53

Ma se apri la seconda form direttamente (senza passare dalla prima) cosa vedi?

Alessandro

PS: HTH = Hope This Helps
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi edozio » 29/10/06 22:33

Prima di tutto grazie per la tua pazienza!

archimede ha scritto:Ma se apri la seconda form direttamente (senza passare dalla prima) cosa vedi?

Alessandro

PS: HTH = Hope This Helps

Vedo la maschera non filtrata, cioè posso "sfogliare" tutti i record, e posso modificare i dati e queste modifiche sono regolarmente "memorizzate" nella tabella principale. Invece quando la maschera la apro da quella filtrata secondo la macro, vedo solo il record scelto, ma non posso modificare nulla: è come se la form fosse abilitata e bloccata mentre invece non lo è!
Non è che il problema parte dalla macro? (anche se non saprei spiegare come ...)
Grazie davvero per il tuo paziente aiuto!
"Ho fatto cose... discutibili. Cose per cui il Dio della biomeccanica non mi farebbe entrare in paradiso. "
edozio
Utente Senior
 
Post: 217
Iscritto il: 04/04/04 16:11
Località: 45°51' N 9°24' E

Postdi edozio » 29/10/06 23:17

se ti può essere utile, ho provato anche con questo codice che ho trovato in giro:

Private Function OpenDetailForm() As Boolean
' Purpose : Used to open Detail Form to the selected record in the summary
' Parameters : None
' Returns : Boolean (ignored by event functions)
' Created/Modified : 8/9/99,
On Error GoTo PROC_ERR
Dim strWhereCondition As String

strWhereCondition = "[N_tessera] = " & Me![N_tessera]
DoCmd.OpenForm "msk_anagrafica_da_selezione", , , strWhereCondition, acFormEdit 'Open requested form in Edit Mode

PROC_EXIT:
Exit Function

PROC_ERR:
MsgBox "Err: " & Err.Number & " : " & Err.Description & _
" in Function OpenDetailForm", vbCritical, "Images in Access Example"
Resume PROC_EXIT

End Function


ma il problema rimane identico!!! quindi la macro non c'entra. o no?
"Ho fatto cose... discutibili. Cose per cui il Dio della biomeccanica non mi farebbe entrare in paradiso. "
edozio
Utente Senior
 
Post: 217
Iscritto il: 04/04/04 16:11
Località: 45°51' N 9°24' E

Postdi edozio » 30/10/06 18:17

Ho risolto! :D :D :D :D
Allora: la maschera 1 è quella in cui selezionavo con il doppio click il record che compariva nella maschera 2 in cui volevo correggere i dati. Nella maschera 1 era settato (non ho ancora capito perché) “Blocco record = Tutti i record” che oltre ad impedire di modificare i dati nella maschera 1, impediva anche di farlo nella maschera 2 anche se in questa era tutto abilitato. E’ bastato impostare “Blocco record = Nessun blocco” nella maschera 1 e anche la 2 si è magicamente sbloccata!
:D :D :D
"Ho fatto cose... discutibili. Cose per cui il Dio della biomeccanica non mi farebbe entrare in paradiso. "
edozio
Utente Senior
 
Post: 217
Iscritto il: 04/04/04 16:11
Località: 45°51' N 9°24' E


Torna a Programmazione


Topic correlati a "cerco routine VBA per access (selezionare un record)":


Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti