Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

access 2003: aprire maschera per visualizzare record

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

access 2003: aprire maschera per visualizzare record

Postdi karug64 » 14/11/12 22:39

Salve a tutti.
Potreste aiutarmi a scrivere un codice access che permetta di fare questo:

ho una maschera con visualizzazione "tabellare" di una tabella (appunto) di nome "Lista" in cui visualizzo solo 5 dei 50 campi presenti nel db. Cliccando sul campo ID di una riga qualsiasi vorrei che si aprisse la maschera "Dettaglio" (dove sono presenti tutti i campi della tabella) ma puntando al record con ID uguale a quello della prima maschera dove ho cliccato. Preciso, inoltre, che su questa seconda maschera non devo fare alcuna attivita' (avanti/indietro/inserisci/cancella/ecc/ecc) se non visuliazzare i campi e lanciare, tramite pulsante, una stampa.

Grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: access 2003: aprire maschera per visualizzare record

Postdi Flash30005 » 14/11/12 23:23

Inserisci un pulsante nella maschera 1 (con i 4 o più campi compreso l'ID)
Nel codice evento del pulsante
inserisci quest macro
Codice: Seleziona tutto
Private Sub Comando9_Click()
' inserisci da questa riga in poi per via della numerazione dei comandi
    Dim stDocName As String
    Dim stLinkCriteria As String
    Dim MioId As Long
MioId = Me.ID
    stDocName = "Lista1"   '<<<< nome maschera2
DoCmd.OpenForm stDocName
DoCmd.GoToRecord acDataForm, stDocName, acGoTo, MioId

   ' Fine inserimento
End Sub


Ora nella maschera 1 seleziona un ID e quando è quello desiderato premi il pulsante-comando

Ciao

P.s. ma questo argomento è risolto?
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: access 2003: aprire maschera per visualizzare record

Postdi wallace&gromit » 14/11/12 23:26

ciao karug,
se per aprire la nuova maschera usi una macro registrata con il generatore di macro di access avrai come opzione "trova record" e potrai fargli cercare nella nuova maschera il record equivalente a quello evidenziato nella lista.

Edit: vedo che flash mi ha preceduto con una soluzione probabilmente migliore!
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: access 2003: aprire maschera per visualizzare record

Postdi karug64 » 15/11/12 07:36

Flash30005 ha scritto:Inserisci un pulsante nella maschera 1 (con i 4 o più campi compreso l'ID)
Nel codice evento del pulsante
inserisci quest macro
Codice: Seleziona tutto
Private Sub Comando9_Click()
' inserisci da questa riga in poi per via della numerazione dei comandi
    Dim stDocName As String
    Dim stLinkCriteria As String
    Dim MioId As Long
MioId = Me.ID
    stDocName = "Lista1"   '<<<< nome maschera2
DoCmd.OpenForm stDocName
DoCmd.GoToRecord acDataForm, stDocName, acGoTo, MioId

   ' Fine inserimento
End Sub


Ora nella maschera 1 seleziona un ID e quando è quello desiderato premi il pulsante-comando

Ciao



Ciao. Ho fatto come hai proposto, ma :
1) quando faccio doppio click sul campo (ho inserito la routine in quell'evento) mi compare una finestra che mi chiede di digitare l'ID (capitava anche con una macro registrata)
2) e quando lo dgito si apre la maschera che da questo errore: "Impossibile passare al recod specificato" ma la variabile ispezionata contiene il valore giusto dell'ID

Flash30005 ha scritto:
P.s. ma questo argomento è risolto?



Ho risolto in parte. Come detto ho trovato uan routine che funziona ma mi da un errore (dopo aver caricato) appena riesco a capire perche' la posto.

Grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Re: access 2003: aprire maschera per visualizzare record

Postdi karug64 » 18/11/12 22:15

Ecco la routine che permette di importare un file csv in una tabella access 2003 testata e funzionante.

Codice: Seleziona tutto
Set Tabella = DBCorrente.OpenRecordset("Tabella1")
'Apre il file
Open filecsv For Input As #1

'Legge tutte le righe
Do Until EOF(1)
    Line Input #1, Dato
   
    Tabella.AddNew 'aggiunge un dato
    Contatore = 0
    Pos1 = 0
    Do Until Pos1 = Len(Dato)
        Pos2 = Pos1
       
        Contatore = Contatore + 1
        Pos1 = InStr(Pos2 + 1, Dato, ";")
       
        If Pos1 = 0 Then
            Pos1 = Len(Dato)
        End If
       
        If Pos1 = Len(Dato) Then
            Tabella.Fields("campo" & Contatore) = Mid(Dato, Pos2 + 1, Pos1 - Pos2)
        Else
            Tabella.Fields("campo" & Contatore) = Mid(Dato, Pos2 + 1, Pos1 - Pos2 - 1)
        End If
       
    Loop
    Tabella.Update 'Salva il Dato
Loop
'Chiude File
Close #1

'Chiusura Tabella
Tabella.Close
DBCorrente.Close
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Re: access 2003: aprire maschera per visualizzare record

Postdi Flash30005 » 18/11/12 22:55

Ti invio il Database-test
DownloadDb
Apri la maschera "Lista"
L'ID non è modificabile ma devi usare i cursori in basso
una volta selezionato quello desiderato
premi il comando

ciao

P.s. se vuoi editare l'ID è chiaro che non devi "ancorare" il campo-maschera alla tabella-origine
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: access 2003: aprire maschera per visualizzare record

Postdi karug64 » 21/11/12 22:07

grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22


Torna a Applicazioni Office Windows


Topic correlati a "access 2003: aprire maschera per visualizzare record":


Chi c’è in linea

Visitano il forum: Nessuno e 47 ospiti