Form Anagrafiche, valorizzazione campi di tipo byte al nuovo record

di il
4 risposte

Form Anagrafiche, valorizzazione campi di tipo byte al nuovo record

Salve a tutti, come da titolo (segnalatemi se poco chiaro) avrei la necessità nella Maschera delle anagrafiche di diversificare alcune caratteristiche o implementare alcuni campi in automatico.

Gestendo un database relativamente alla gestione di un magazzino, da una maschera di apertura database (FormHome) volevo impostare, tramite bottoni, l'inserimento nella maschera FormAnagrafiche le anagrafiche di dipendenti, clienti e fornitori.
La differenziazione, sta nei campi di tipo si/no. Aiutanto l'utente ad effettuare quanti meno click possibili, volevo impostare che, cliccando su un pulsante per l'inserimento delle anagrafiche dei Fornitori, creasse il nuovo record, valorizzasse l'id e valorizzasse il campo Fornitori, così per i fornitori e dipendenti aprendo sempre la stessa FormAnagrafiche.

Ho scritto queste righe ma mi dice "Errore di run-time '424': oggetto necessario". La versione di office è 2007
Private Sub btnFornitori_Click()
DoCmd.OpenForm "FormAnagrafiche", acNormal, "", "", acAdd, acNormal
tblAnagrafiche.ID = ID + 1
Dipendente = -1
End Sub
Cliccando su debug mi evidenzia tblAnagrafiche.ID = ID + 1, in variabili locali mi porta valore vuoto e tipo variant/empty

4 Risposte

  • Re: Form Anagrafiche, valorizzazione campi di tipo byte al nuovo record

    zio Ken ha scritto:


    Salve a tutti, come da titolo (segnalatemi se poco chiaro) avrei la necessità nella Maschera delle anagrafiche di diversificare alcune caratteristiche o implementare alcuni campi in automatico.
    ...
    Ho scritto queste righe ma mi dice "Errore di run-time '424': oggetto necessario". La versione di office è 2007
    ...
    Cliccando su debug mi evidenzia tblAnagrafiche.ID = ID + 1, in variabili locali mi porta valore vuoto e tipo variant/empty
    L'ultimo parametro di DoCmd.OpenForm (dopo acAdd nella tua riga) è OpenArgs e acNormal lì non ha alcun significato. Ma il problema è in tutto il resto.
    Le informazioni e le caratteristiche della maschera che viene aperta devono essere accessibili a quest'ultima tramite codice da indicare nell'evento Open della maschera. Per evitare di entrare subito in Edit, solitamente si usa valorizzare la proprietà DefaultValue dei controlli. Se vuoi impedire la modifica di questi valori rendi i controlli non editabili.
    Mi riservo di editare se trovo il thread in cui ero intervenuto per una situazione simile.
  • Re: Form Anagrafiche, valorizzazione campi di tipo byte al nuovo record

    Okok grazie mille Phil per il tuo intervento. In primis avevo cercato di scrivere qualcosa nell'evento Open della maschera ma non riuscivo a discriminare campi che autoimplementassero i campi Clienti/Fornitori/Dipendenti senza doverlo far fare all'utente, se non tramite pulsanti esterni (credevo). Aspetto news o suggerimenti per una migliore soluzione
  • Re: Form Anagrafiche, valorizzazione campi di tipo byte al nuovo record

    zio Ken ha scritto:


    ...In primis avevo cercato di scrivere qualcosa nell'evento Open della maschera ma non riuscivo a discriminare campi che autoimplementassero i campi Clienti/Fornitori/Dipendenti senza doverlo far fare all'utente, ...
    Allora non edito il messaggio precedente ma metto il link direttamente qui
    https://www.iprogrammatori.it/forum-programmazione/access/nuovo-record-con-campo-pre-inserito-t23699.html
    Il thread è un po' lungo, prima di lanciarti leggilo tutto perché è stata un'evoluzione progressiva.
    Dovrai agire di codice, parecchio, per preparare la maschera in modo che l'utente non possa metter mano a quello che non deve modificare. Studia anche l'uso di OpenArgs per passare eventuali informazioni (ad esempio in base al pulsante in cui scrivi il comando DoCmd.OpenForm)
  • Re: Form Anagrafiche, valorizzazione campi di tipo byte al nuovo record

    Ok ti ringrazio, cercherò di fare al meglio. Buona giornata
Devi accedere o registrarti per scrivere nel forum
4 risposte