Newsgroup: it.comp.appl.access
Titolo: Dettagli MDB Libri - HELP!!

Ciao,
Il mio DB funzionava così:
All'apertura c'era il classico autorun (macro normale di A97) che diceva
questo:
MACRO AUTOEXEC
Azione:
RiduciAIcona
ApriMaschera (e questa me la apre!!)
                            Nome Maschera: Selezione
                            Visualizza: Maschera
                            Modalità finestra: Normale
Questa maschera contiene dei bottoni che sono collegati a una macro.
Uno di questi bottoni doveva far ridurre a icona la maschera coi bottoni e
aprire la maschera Libri Letti.
La macro dice così:
MACRO LIBRI LETTI
Azione:
RiduciAIcona (FIN QUI LA ESEGUE)
ApriMaschera (e questa NON me la apre!!)
                            Nome Maschera: Libri Letti
                            Visualizza: Maschera
                            Modalità finestra: Normale
e mi presenta questo:
Azione non riuscita:
 Nome macro: Macro1
 Condizione: Vero
 Nome azione: ApriMaschera
 Argomenti: Libri letti; Maschera; ; ; ; Normale
A mio avviso lui la Maschera me la aprirebbe anche, ma deve esserci qualcosa
che non quaglia all'interno della tabella perchè non me la apre dicendomi
questo
 Impossibile aprire la tabella in visualizzazione foglio dati. (in struttura
me la apre!!)
Sono quasi disperato. Cosa c'è che non va? saranno i collegamenti
uno-a-molti con le altre tabelle (che apre normalmente???) O le ricerche che
vi ho scritto l'altro giorno?
Ripeto non c'è una riga di codice.
Ho anche provato a rifarla da zero vuota, ma non la apre ugualmente. Dubito
suano i dati, quindi deve essere qualcosa nell'impostazione. Ho provato
anche atogliere l'integrità preferenziale ma nulla di fatto!!
Io per macro intendo quelle sceme selezionate con le combo, non mi sono
messo a scrivere codice VBA, perchè non ne sono capace.
Come faccio a convertire le macro e, una volta convertite, come faccio se
qualcosa non va?
Ringrazio in anticipo, Stefano


Vorresti convertire le macro in codice? Diciamo che è semplice; ogni azione
che imposti nelle macro la puoi impostare nei moduli integrandola con codice
(simil-basic) VBA. Come inizio consulta l'help e vedrai che non scriverai
più una macro..
Comunque; per il tuo caso:
per quanto riguarda i bottoni che aprono le maschere, l'autocomposizione già
ti aiuta a crearne uno che fa quello che vuoi, poi in struttura maschera
prendi le proprietà del bottone e scegli la scheda "eventi", noterai che
l'unico evento presente è "su clic"; clicca sulla riga dell'evento, alla
destra compare un bottone (piccolo) con tre punti (generatore di
espressioni), cliccaci sopra e sei dentro l'azione che eseguirà il bottone.
Dovresti trovare una cosa del tipo:
Private Sub Comando2_Click()
On Error GoTo Err_Comando2_Click
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "campi"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Comando2_Click:
    Exit Sub
Err_Comando2_Click:
    MsgBox Err.Description
    Resume Exit_Comando2_Click
End Sub
l'istruzione che ti interessa è "docmd" che esegue dei comandi (appunto) e
in questo caso è openform, per i parametri basta che clicchi su openform e
premi F1.
Per ridurre ad icona (minimizzare) la maschera precedente dovrai inserire
l'istruzione  DoCmd.Minimize. Avrai notato che appena scrivi docmd ed il
punto Access ti presenta una lista delle possibili scelte, non devi fare
altro che trovare quella che fa al caso tuo e premere invio o tab; Access
nella maggior parte della scrittura del codice ti guiderà segnalandoti se
hai omesso parametri o commesso errori. Un consiglio, scrivi in minuscolo e
access se hai scritto l'istruzione bene te la "capitalizza"
(maiuscoletto?!).
Quindi per farla breve il tuo codice sarebbe:
Private Sub Comando2_Click()
On Error GoTo Err_Comando2_Click
    Dim stDocName As String
    Dim stLinkCriteria As String
    DoCmd.Minimize    'minimizza questa maschera
    stDocName = "campi"
    DoCmd.OpenForm stDocName, , , stLinkCriteria    'apre la maschera
Exit_Comando2_Click:
    Exit Sub
Err_Comando2_Click:
    MsgBox Err.Description
    Resume Exit_Comando2_Click
End Sub
Poi chiudi ed esegui la maschera..
Ciao.