Macro e VBA

Anonimo
2015-09-13T06:12:56+00:00

Ciao a tutti,

Dovendo adattare un database fatto con access 2013 per access 2003 e non essendo in grado di convertire una macro in VBA chiedo se qualcuno può aiutarmi a fare questa conversione.

Le due macro in questione (tratte da un modello di access)  si attivano con doppio click su un campo e sono:

La prima macro:

IF   IsNull([Screen].[ActiveControl])     then

Arresta macro

End If


Apri Machera

Nome maschera: Dettagli

Visualizzazione: Maschera

Condizione WHERE:  =”[ID]=”& [Screen].[ActiveControl]  

Modalità Finestra: Dialogo


Su Errore

Vai a :  successivo


RieseguiQuery

Nome Controllo: [Screen].[ActiveControl].[Name]   

La seconda macro è:


Su Errore

Vai a :  successivo

IF   [Form].[Dirty]     then

EseguiComando

Comando: SalvaRecord

End If


If   [MacroError].[Number] <> 0    then

FinestraMessaggio

Messaggio: [MacroError].[Description]

Segnale acustico: si

ArrestaMacro

End If


Su Errore

Vai a :  errore


Apri Machera

Nome maschera: Dettagli

Visualizzazione: Maschera

Condizione WHERE:  ="[ID]=" & Nz([ID];0)

Modalità Finestra: Dialogo


IFNot IsNull([ID])   Then

ImpostaVarTemp

Nome: IDcorrente

Espressione: Nz(DMax("[ID]";[Form].[RecordSource]);0)

End If


RieseguiQuery


CercaRecord

Record: Primo

Condizione WHERE:   ="[ID]=" & [TempVars]![IDCorrente]

RimuoviVarTemp

Nome: IDCorrente

Grazie in anticipo per le eventuali risposte.

Sergio

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2015-09-15T11:47:56+00:00

ciao Sergio,

Ciao Sandro,

Grazie della risposta.

prego.

Ho provato la prima routine e risolve il problema.

bene :-)

La seconda routine non risolve il mio problema.

meno bene,  immaginavo, visto la mia scarsa familiarità con le macro.

Il campo ID (link ipertestuale) presentava la macro che ho esposto.

Il suo scopo è di aprire il problema specifico riferito al numero di ID corrispondente, ovvero

Se ID = 1 e faccio doppioclick sul campo, apre la maschera relativa (dettagli problemi) e mostra il problema con codice 1.

Se ID = 2 e faccio doppioclick apre la maschera (dettagli problemi) e mostra il problema con codice 2.

mi sfugge ancora lo scopo del collegamento ipertestuale, ma su evento doppio click del controllo potresti provare con  :

DoCmd.OpenForm "[dettagli problemi]", acNormal, , wherecondition:="id=" & Me.ID

ovviamente personalizza il controllo id qualora si chiamasse diversamente.

Mi sembra però si ricalchi la conversione in VBA della macro precedente.

Spero di avere dato chiarimenti sufficienti al mio problema.

direi di si anche se ancora mi sfugge lo scopo del collegamento ipertestuale.

Se non risolvi provo a scaricare il template e investigare un po'... :-)

Facci sapere.

Ciao, Sandro.

La risposta è stata utile?

0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-09-15T13:03:10+00:00

    Ciao Cinzia,

    è vero io cercavo di convertire la macro direttamente dalla maschera.

    Proverò il tuo sistema e sicuramente funzionerà (tu hai già provato quindi...)

    Grazie anche a te per l'aiuto che mi avete dato.

    Sergio

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-09-15T12:47:24+00:00

    Ciao Sandro,

    mille grazie per la risposta immediata.

    Funziona alla perfezione !!!

    Non so spiegarti il perché del collegamento ipertestuale (ho adattato il modello alle mie esigenze: era perfetto per quello che cercavo).

    I modelli di access dalla versione 2010 sono facilmente adattabili ad ogni esigenza.

    Grazie ancora

    Sergio

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-09-15T12:15:11+00:00

    Ciao Sergio,

    credo tu stia tentando di convertirla direttamente dalla maschera, se vai in modifica della macro che ti interessa, e poi selezioni tutte le righe e fai Copia, chiudi la maschera, vai su Macro, crei una nuova macro, inserisci un gruppo

    nel gruppo fai Incolla, salvi la macro.  A quel punto la conversione in VBA dovrebbe essere abilitata.

    Ho provato  con il db Esempio "Contatti" e ha funzionato.

    La risposta è stata utile?

    0 commenti Nessun commento