Condividi tramite

bottone apre maschera in vba a seconda di presenza dati presenti

Anonimo
2012-02-07T11:07:40+00:00

salve,

ho 3 maschere:

-immobili affitto:creata da tabella immobili affitto

-immobili vendita:creata da tabella immobili vendita

-unione: creata da tabella tipo "union" delle prime due e chiamata unione

nella maschera unione, in formattazione tabulare, ho 2 campi: id e cognome

dando DOPPIO CLICK su cognome vorrei:

aprire "immobili affitto" con lo stesso id del cognome selezionato,

MA

se questo id non esiste in immobili affitto, allora vorrei aprire "immobili vendita"con lo stesso id del cognome selezionato.

le mie prove hanno fallito.

mi date una mano per favore?

Microsoft 365 e Office | Accesso | 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

  1. Anonimo
    2012-02-07T11:56:48+00:00

    Ciao, prova con

    IF DCount("*","tabella immobili affitto","Id = " & Id) > 0 THEN

        DoCmd.OpenForm "Immobili affitto", acNormal, , "Id=" & [id]

        Else

        DoCmd.OpenForm "Immobili vendita", acNormal, , "id=" & [id]

        DoCmd.Close acForm, "UNIONE"

        End If

    Perchè alla fine chiudi la form UNIONE, non è il punto di ritorno dalle altre maschere?

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-02-07T12:25:45+00:00

    OTTIMO!

    sl un mio errore di sintassi quindi. e ho imparato anche dcount.

    funziona tutto. grazie Mimmo!!!

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-02-07T12:01:24+00:00

    Con la DCount gli chiedi il conteggio in "tabella immobili affitto" dei records che hanno ID uguale a quello selezionato in maschera UNIONE. Se > 0 allora attivi la form "Immobili affitto" altrimenti.....

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-02-07T11:50:27+00:00

    ciao Mimmo,

    mi dà errore in ID_COGNOME="...etc   penso perchè sia semplicem ID e non ID_COGNOME.

    ma in ogni caso...nada purtroppo.

    così ho preso spunto da te e ho trasformato come scrivo qui:

    If "[Forms]![UNIONE]![ID] = " & [ID] > 0 Then

        DoCmd.OpenForm "Immobili affitto", acNormal, "", "[Forms]![UNIONE]![id]=[id]", , acDialog

        Else

        DoCmd.OpenForm "Immobili vendita", acNormal, "", "[Forms]![UNIONE]![id]=[id]", , acDialog

        DoCmd.Close acForm, "UNIONE"

        End If

    il prob è che mi apre il record giusto se è in "immobili affitto", altrimentimi dà ID=0(cioè record nuovo) se l'ID appartiene a IMMOBILI VENDITA.

    idee?

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-02-07T11:15:53+00:00

    Ciao Andrea,

    sull'evento DOPPIO CLICK  del campo cognome, attivi il seguente codice (routine evento):

    IF DCount("*","tabella immobili affitto","Id_Cognome = " & Id_Cognome) > 0 THEN

       doCmd.OpenForm "immobili affitto",,,"Id_cognome =" & Id_Cognome

    ELSE

       doCmd.OpenForm "immobili VENDITA",,,"Id_cognome =" & Id_Cognome

    END IF

    Salvo errori di sintassi :-)

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento