Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di Bugu
    Registrato dal
    Nov 2007
    Messaggi
    871

    [access] completamento automatico

    Ho una tabella "articoli" con 2 campi: "barcode" e "codice"
    Poi ho una maschera legata ad una tabella vuota che si chiama "vendite". Dentro la tabella vendite ho 2 campi "barcode1" e "codice1".
    Vorrei fare in modo che se nella maschera inserisco in "barcode1" un valore uguale ad uno dei valori del campo "barcode" della tabella "articoli", a quel punto il campo "codice1" mi si compila in automatico con il valore corrispondente al campo "codice" della tabella "articoli".


    ad esempio nella tabella "articoli" ho:
    "barcode" con valore 1111
    "codice" con valore PIPPO

    se nella maschera inserisco il valore 1111 nel campo "barcode1" vorrei che nel campo "codice1" venisse fuori in automatico il valore PIPPO

    Come faccio?
    Linux User
    ---------
    Solo due cose sono infinite: l'universo e la stupidità umana, e non sono tanto sicuro della prima.

  2. #2
    crea un modulo con questa funzione:

    Dim ws As Workspace
    Dim db As Database
    Dim qd As QueryDef
    Dim RS As Recordset
    Dim strSQL As String


    Public Function cerca() As Boolean

    Dim FRM As Form
    Set FRM = Screen.ActiveForm

    Set ws = DBEngine.Workspaces(0)
    Set db = CurrentDb

    strSQL = "SELECT * FROM TUATABELLA WHERE BARCODE= '" & FRM!BARCODE1 & "'"

    Set RS = db.OpenRecordset(strSQL)

    If RS.EOF Then
    GoTo errLogon
    End If
    FORMS!TUAMASCHERA!CODICE1=RS!CODICE

    RS.Close
    db.Close
    Exit Function

    errLogon:
    MsgBox "errore - CODICE NON PRESENTE"

    RS.Close
    db.Close
    End Function
    poi nel campo barcode1 nell'evento dopo aggiornamento inserisci in routine evento cerca
    dovrebbe funzionare. fammi sapere

  3. #3
    Utente di HTML.it L'avatar di Bugu
    Registrato dal
    Nov 2007
    Messaggi
    871
    Anzitutto grazie dell'aiuto.

    Quando apro la maschera mi compare il seguente messaggio:

    --------------------
    Errore di runtime '2475'
    La maschera specificata nell'espressione immessa deve essere nella finestra attiva
    --------------------

    Forse perchè la maschera in questione è una sottomaschera.

    Faccio click sul pulsante "fine" di quel messaggio e mi apre la maschera.
    A quel punto quando inserisco il valore nel campo "barcode1" e deve applicare la function mi compare un altro messaggio simile al precedente che dice:

    --------------------
    Errore di runtime '2465'
    Impossibile trovare il campo 'barcode1' a cui si fa riferimento nell'espressione
    --------------------

    Non so come mai...
    Linux User
    ---------
    Solo due cose sono infinite: l'universo e la stupidità umana, e non sono tanto sicuro della prima.

  4. #4
    Utente di HTML.it L'avatar di Bugu
    Registrato dal
    Nov 2007
    Messaggi
    871
    Originariamente inviato da Bugu
    Anzitutto grazie dell'aiuto.

    Quando apro la maschera mi compare il seguente messaggio:

    --------------------
    Errore di runtime '2475'
    La maschera specificata nell'espressione immessa deve essere nella finestra attiva
    --------------------

    Forse perchè la maschera in questione è una sottomaschera.

    Faccio click sul pulsante "fine" di quel messaggio e mi apre la maschera.
    A quel punto quando inserisco il valore nel campo "barcode1" e deve applicare la function mi compare un altro messaggio simile al precedente che dice:

    --------------------
    Errore di runtime '2465'
    Impossibile trovare il campo 'barcode1' a cui si fa riferimento nell'espressione
    --------------------

    Non so come mai...
    Se invece compio l'operazione direttamente sulla maschera (aprendola come maschera e non come sottomaschera) non mi da il primo errore, ma quando deve eseguire la function mi da questo errore:

    ---------------------
    Errore di runtime '3625'
    Elemento non trovato in questo insieme
    ---------------------

    E se eseguo il debug mi rimanda a questa riga evidenziata:
    Forms!Vendite!CODICE1 = RS!CODICE
    Linux User
    ---------
    Solo due cose sono infinite: l'universo e la stupidità umana, e non sono tanto sicuro della prima.

  5. #5
    Utente di HTML.it L'avatar di Bugu
    Registrato dal
    Nov 2007
    Messaggi
    871
    Originariamente inviato da Bugu
    Se invece compio l'operazione direttamente sulla maschera (aprendola come maschera e non come sottomaschera) non mi da il primo errore, ma quando deve eseguire la function mi da questo errore:

    ---------------------
    Errore di runtime '3625'
    Elemento non trovato in questo insieme
    ---------------------

    E se eseguo il debug mi rimanda a questa riga evidenziata:
    Forms!Vendite!CODICE1 = RS!CODICE
    Ok questo l'ho risolto (avevo sbagliato a nominare il campo)

    Il problema che ora mi si presenta è che riesco ad utilizzare il tutto solo con la maschera attiva e non utilizzandola come sottomaschera.
    Come faccio a far funzionare tutto utilizzandola come SOTTOMASCHERA?
    Linux User
    ---------
    Solo due cose sono infinite: l'universo e la stupidità umana, e non sono tanto sicuro della prima.

  6. #6
    Set FRM = forms!tuamaschera!tuasottomaschera.form

  7. #7
    Utente di HTML.it L'avatar di Bugu
    Registrato dal
    Nov 2007
    Messaggi
    871
    Originariamente inviato da borgodiavalon
    Set FRM = forms!tuamaschera!tuasottomaschera.form
    RISOLTO!
    Funziona. Grazie!
    Linux User
    ---------
    Solo due cose sono infinite: l'universo e la stupidità umana, e non sono tanto sicuro della prima.

  8. #8
    ok alla prossima

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Anche se hai già risolto ti consiglio di documentarti sulla funzione dlookup di access.

  10. #10
    Utente di HTML.it L'avatar di Bugu
    Registrato dal
    Nov 2007
    Messaggi
    871
    Originariamente inviato da nicola75ss
    Anche se hai già risolto ti consiglio di documentarti sulla funzione dlookup di access.
    E' una funzione che serviva al mio scopo in alternativa?
    Linux User
    ---------
    Solo due cose sono infinite: l'universo e la stupidità umana, e non sono tanto sicuro della prima.

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.