Azzeramento caselle di testo

di il
28 risposte

28 Risposte - Pagina 2

  • Re: Azzeramento caselle di testo

    Scusate, allora adesso con il codice di @Alex mi si apre la maschera,avevo scritto male, ma con il codice nella maschera note sul load mi da errore,
    siccome OpenArgs non ho mai usato non capisco che farebbe..potete farmi capire cosa fa con questa stringa?
  • Re: Azzeramento caselle di testo

    Non ha senso... e non lo comprendi...!!!!!!!
    Devi passare alla Form da aprire il Riferimento del Codice IDCLIENTE, pescalo da dove vuoi nella Maschera in cui hai i dati del Cliente, non so come hai chiamato il Controllo che è associato alla CHIAVE PRIMARIA IDCLIENTE...!!!!!
    Di fatto quello che non comprendi ma che è estremamente grave è non cercare di passare al IDCLIENTE il valore della NOTA...
    Su questo io mi fermo in quanto se non segui una logica di coerenza ... abbiamo poco da fare.

    Dire che ti da errore... non dice nulla...!
    Cosa e dove... devi fornire qualche dato tecnico..., su cosa fa OpenArgs, leggi la guida che ti spiega.
  • Re: Azzeramento caselle di testo

    Aggiungo, che il codice che ti ho postato NON ha errori, ma ti devi modificare il Nome dei Controlli che io ho scritto solo a titolo di Esempio, perchè non ho il tuo lavoro in mano... adeguandoli..!!!!!!
  • Re: Azzeramento caselle di testo

    Stef_83: è molto importante che tu specifichi chiaramente tutti i nomi propri di:
    - tabelle
    - nomi campi
    - relazioni
    - maschere
    altrimenti la discussione risulta vana/inutile/piena di fraintendimenti.

    Riguardo OpenArgs...provo a darti una spiegazione terra terra. OpenArgs è una proprietà di maschera che non trovi nemmeno nella lista delle Proprietà della maschera stessa. È un "qualcosa" che si può gestire solo in VBA. Ora il DoCmd.OpenForm ha il 7° argomento OpenArgs che è una stringa che viene passata alla MascheraX che si va ad aprire. Una volta aperta MascheraX essa si "carica" di un valore dentro il proprio Me.OpenArgs che corrisponde esattamente alla stringa esposta nel 7° argomento di DoCmd.OpenForm. Tale Me.OpenArgs può essere gestito a piacere per farne qualsiasi uso a te può tornare utile. Ma attenzione Me.OpenArgs (scritto proprio così) lo puoi gestire solo DENTRO la MascheraX. Il caso suggerito da @Alex dell'evento Load (di MascheraX si intende) è uno dei più usati.
  • Re: Azzeramento caselle di testo

    Allora scusate,
    tabella CLIENTI(ID_clienti,nome,cognome,indirizzo,Comune,email,compleanno,telefono)
    tabella NOTE_CLIENTI(ID_Note,Data_Inserimento,Note,ID_clienti)
    ID_clienti NOTE_CLIENTI collegato con una relazione 1-M ID_cliente CLIENTI
    maschera Avvio collegata con alla maschera Note_Clienti
    per aprire la maschera Note_Clienti ho impostato una casella combinata che mi trova il cliente e poi con il pulsante trova dove ho inserito il codice VBA che ho scritto prima apre la maschera Avvio.
    Nella maschera Note_Clienti ho tutti i campi impostati della tabella CLIENTI che ho messo non modificabili visto che non mi interessa modificarli, e poi ho aggiunto il campo Data_inserimento in automatico e il campo Note.
    quando faccio la ricerca funziona tutto, mi trova il cliente con la nota inserita che ho aggiunto da un'altra maschera Inserimento_Clienti dove inserisco tutti dati.
    Non so se vi ho dato un quadro più chiaro di quel che ho fatto.
  • Re: Azzeramento caselle di testo

    Si ma quando apri la tua MASCHERA filtrata, purtroppo se vai ad insererire una NUOVA NOTA... non viene valorizzato il campo ID_Cliente che invece viene valorizzato quando si lavora con SubForm(Detail) inserite in Form(Singole) in quanto tra FORM e SUBFORM ci sono i legami espressi dai CAMPI Master/Secondari che fanno il lavoro sporco che però devi conoscere...!!!
    Quindi se apri una Form(Popup o esterna che sia) filtrandola... devi sapere che serve FORZARE la proprietà DefaultValue della Chiave Esterna, nel tuo caso ID_Cliente, altrimenti nessuno la valorizza...!
    Quello che ti ho suggerito serve a quello...!
  • Re: Azzeramento caselle di testo

    Ok ho capito...
    adesso ho provato mi restituisce "errore di compilazione utilizzo non valido di Property" e mi sottolinea il DefaultValue..
    Cosa Ho sbagliato?
  • Re: Azzeramento caselle di testo

    Hai aggiornato il nome del controllo:
    Me.IDCliente.DefaultValue=chr(34) & Me.OpenArgs & chr(34)
  • Re: Azzeramento caselle di testo

    Certo ho messo il mio che è ID_clienti
  • Re: Azzeramento caselle di testo

    Scusami ma cosi facendo come hai detto tu mi torna tutta la maschera vuota, non solo il campo note, quindi sono punto a capo.
  • Re: Azzeramento caselle di testo

    Abbandono perchè non hai capito proprio come funzionano le Maschere ed i dati nelle Tabelle.
  • Re: Azzeramento caselle di testo

    stef_83 ha scritto:


    maschera Avvio collegata con alla maschera Note_Clienti
    per aprire la maschera Note_Clienti ho impostato una casella combinata che mi trova il cliente e poi con il pulsante trova dove ho inserito il codice VBA che ho scritto prima apre la maschera Avvio.
    Io non ho capito come funziona questa cosa.
    1. La maschera Avvio non poggia su alcuna tabella: giusto?
    2. La maschera Avvio ha una casella combinata per scorrere i Clienti attraverso un IDCliente (se usassi i nomi campo al singolare ci capiremmo tutti meglio...è uno standard denominativo che ha un suo senso intrinseco...cambiarlo al plurale confonde moltissimo le idee). Dopo aver scelto l'IDCliente...quale maschera si apre per davvero?
    3. Poi c'è un pulsante che apre maschera Avvio. Cos'è questo diavolo che si morde la coda?

    stef_83 ha scritto:


    Nella maschera Note_Clienti ho tutti i campi impostati della tabella CLIENTI che ho messo non modificabili visto che non mi interessa modificarli
    Che vuol dire? Che senso ha?

    Io penso che sia corretto da maschera Avvio puntare su maschera Clienti. La maschera Clienti deve avere poi una sottomaschera NoteClienti. Se proprio non ti piace la sottomaschera, NoteClienti diventa una maschera collegata, ma in questo caso non la vedrai subito e un pulsante da maschera Clienti dovrà aprirla in modo congruo da far apparire solo le Note relative al campo Clienti.IDCliente.

    Se le cose non stanno ancora così, la descrizione testuale appare confusa/incoerente/incomprensibile. Allora dovresti mostrare qualche immagine di tutto ciò che hai raccontato finora.

    Ma poi, ripensando anche al titolo della discussione che hai proposto. Che significa "Azzeramento casella di testo" se poi punti su NuovoRecord che di default è vuoto?
  • Re: Azzeramento caselle di testo

    Allora osvaldo ti rispondo,
    1. maschera avvio non poggia su nessuna tabella
    2. maschera avvio con casella combinata per scelta cliente con un pulsante trova apre la maschera "Note_clienti"
    3.No,Ogni qual volta si apre la maschera Note_clienti e si salva il record o si esce senza salvare mi riporta alla maschera avvio e mi chiude la maschera Note_Clienti
    4.Il senso era quello di mostrarli,ma senza modificarli, ma di poter inserire solo le note,ma forse non ha senso dici?

    il fatto di non fare una sottomaschera era proprio per un fattore visivo perche non mi piaceva come usciva nella maschera.
    Ma forse mi sono solo complicato la vita e basta.
    Grazie cmq.
  • Re: Azzeramento caselle di testo

    Da qualche parte dici che maschera Note_Clienti mostra anche i campi di Clienti. Raccontato così è (agli occhi dei programmatori normalizzatori) "relativamente" assurdo. Se non lo spieghi o mostri per bene, dandone valide ragioni, la discussione si inceppa. Ti riesce di mostrare una immagine della maschera Note_Clienti?

    Io comunque ti consiglio di passare attraverso maschera Clienti. Poi sei libero di concepire maschera/sottomaschera Clienti/Note_Clienti oppure 2 maschere collegate...con la seconda che si sovrappone alla prima (se non vuoi vedere i dati di Clienti). Queste sono le prassi di gestione delle maschere.
Devi accedere o registrarti per scrivere nel forum
28 risposte