Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Access 2000 e VB

  1. #1

    Access 2000 e VB

    Ho questo problema: in una maschera ho inserito due sottomaschere:

    nella prima [Sottomaschera Lavori] ho inserito questo codice:

    codice:
    Private Sub Rep_N°_GotFocus()
    [Sottomaschera dettaglio lavori].Requery
    End Sub
    questo per aggiornare automaticamente il contenuto della seconda sottomaschera [Sottomaschera dettaglio lavori] che seleziona i recod in base alla seguente query:

    codice:
    SELECT Lavori.Lavoro, Lavori.Onorario
    FROM Lavori
    WHERE (((Lavori.[N° Cliente])=[form]![Sottomaschera Lavori]![N° Cliente]));

    Quando però cambio seleziono un altro record nella [Sottomaschera Lavori] mi viene restituito questo messaggio:

    "Errore di run-time '2465'

    impossibile trovare il campo '|' a cui si fa riferimento nell' espressione."

    Dove è che sbaglio...

    Emanuel

  2. #2
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    A mio avviso e' il NOME DEL CAMPO [N° Cliente] che gli da fastidio....(il carattere ° in particolare.)

    Prova a cambiare N° Cliente in NumCliente sia nel DB che nella sql e vedi l'effetto che fa..
    Ciao
    ...and I miss you...like the deserts miss the rain...

  3. #3
    Innanzi tutto devo fare delle precisazioni:
    codice:
    SELECT Lavori.Lavoro, Lavori.Onorario
    FROM Lavori
    WHERE (((Lavori.[N° Cliente])=[form]![Sottomaschera Lavori]![N° Cliente]));
    L' ho sostituito con
    codice:
    SELECT Lavori.Lavoro, Lavori.Onorario
    FROM Lavori
    WHERE (((Lavori.[N° Cliente])=' [forms]![Sottomaschera Lavori]![Rep N°] ' ));
    questo perchè:
    1. form si riferisce a un campo mentre forms ad una maschera.
    2. per la regola della famosa relazione uno-a-molti.


    Scopo del tutto: la maschera principale estrae da una tabella chiamata anagrafica il nome e congnome del cliente, la prima sottomaschera estrae dalla tabella lavori i [N° Rep] che contengono [IDcliente] selezionato. La seconda sottomaschera estrae dalla tabella lavori alcuni dettagli relativi al [N° Rep] selezionato nella prima sottomaschera.
    Per fare questo ho usato questa sub
    codice:
    Private Sub Rep_N°_GotFocus()
    Dim ctlLstBox As Control
    Set ctlLstBox = Forms![Sottomaschera dettaglio lavori]!Lavoro
    DoCmd.Requery ctlLstBox.Name
    End Sub
    Ora il messaggio di errore che mi dà è questo:
    Errore di run-time '2450'

    impossibile trovare la maschera 'Sottomaschera dettaglio lavori' a cui si fa riferimento nell' espressione."


    Di chi è la colpa?




    :master:

    Comunque proverò anche a seguire il tuo consiglio riguardo NumCliente

  4. #4

    Ri definiamo il problema

    Dopo un week end passato sul manuale access ecco in sunto il nocciolo della questione: in una maschera ho inserito due sottomaschere in una maschera principale [Situazione Dovuto x cliente]:

    nella prima [Sottomaschera Lavori] ho inserito questo codice:
    codice:
    Private Sub Form_Click()
    
        Dim ctlElenco As Control
        ' Restituisce oggetto Control che punta alla casella di riepilogo.
        Set ctlElenco = Forms![Situazione Dovuto x cliente].[Sottomaschera dettaglio lavori]!Controls.[Lavoro]
        ' Riesegue la query su origine dati della casella di riepilogo.
        ctlElenco.Requery
    
    End Sub
    questo per aggiornare automaticamente il contenuto della seconda sottomaschera [Sottomaschera dettaglio lavori].

    Però quando viene chiamato l' evento mi restituisce errore e dice che la maschera [Situazione Dovuto x cliente] non esiste... Perchè???

    Dove è che sbaglio...

    Emanuel

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.