Inserire valore di una maschera in una tabella

di il
12 risposte

Inserire valore di una maschera in una tabella

Salve a tutti. Grazie in anticipo per l'attenzione. Uso Access 2010.
Ho la maschera fatture che deriva dalla tabella omonima Fatture.
sulla maschera fatture ho una casella combinata (costituita da cod_cliente,denominazione e la cui sorgente è la tabella clienti) . Dalla casella combinata riesco ad aggiornare una textbox (dal nome denominazione) presente sulla maschera fatture usando il seguente codice VBA

Private Sub combo_cliente_AfterUpdate()
Me.codcliente = Me![combo_cliente].Column(1)
End Sub

inserita in Evento->dopo aggiornamento.

Premetto che in l'origine dati di questa textbox(quella aggiornata) è il campo(cliente) della tabella fatture. Il problema è che nella tabella Fatture il campo cliente e sempre vuoto, quindi anche se l'operazione sulla maschera è andata a buon fine, poi non riesco a salvare il valore sulla tabella. Grazie ancora per l'attenzione

ho provato anche con vba ad inserire dopo aggiornamento della combo box il seguente codice

Private Sub combo_cliente_AfterUpdate()
Dim myDB As DAO.Database
Me.Cliente = Me.combo_cliente.Column(1)
Set myDB = Forms.Application.CurrentDb

myDB.Execute ("INSERT INTO Fatture(Cliente) VALUES('" & Cliente.Text & "')")
End Sub

ma niente da fare

Grazie anticipatamente per l'aiuto, spero di essere stato chiaro

12 Risposte

  • Re: Inserire valore di una maschera in una tabella

    Private Sub combo_cliente_AfterUpdate()
    Me.codcliente = combo_cliente.Column(1)
    End Sub
    strano... anche io ho provato così è funziona... sbagliato a digitare qualcosa?
  • Re: Inserire valore di una maschera in una tabella

    Grazie per la risposta. La textbox viene aggiornata, il problema e che poi nella tabella non viene salvata, anche se l'origine dalla textbox aggiornata ha per campo quello della tabella .
  • Re: Inserire valore di una maschera in una tabella

    https://www.iprogrammatori.it/forum-programmazione/access/codice-vba-per-salvare-record-t11296.html

    cercare cercare cercare ...

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
  • Re: Inserire valore di una maschera in una tabella

    Grazie. Ho provato ma non va, probabilmente sbaglio qualcosa. In pratica la combobox che contiene il codice del cliente aggiorna la textbox cliente della maschera, ma non so perchè (come direbbe Totò capitano tutte a me ) il campo Cliente della tabella non viene salvato, il codice cliente della combobox si. posso postarti maschera e tabella? grazie ancora molto gentile
  • Re: Inserire valore di una maschera in una tabella

    Va bene posta pure.

    ma il codice è così?
    Private Sub combo_cliente_AfterUpdate()
    Me.codcliente = combo_cliente.Column(1)
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
    End Sub
    se provi manualmente ad inserire un valore nella txtbox della maschera il valore viene salvato?
  • Re: Inserire valore di una maschera in una tabella

    Non occorre mettere mano al VBA, ma semplicemente scrivere nella proprietà "Origine dati" della textbox la seguente espressione:
    = [combo_cliente].[Column(1)
    partendo dal presupposto che la proprietà "Nome elemento" della combo sia esattamente combo_cliente.
  • Re: Inserire valore di una maschera in una tabella

    Grazie mille per la risposta, purtroppo però così non funziona.
  • Re: Inserire valore di una maschera in una tabella

    Hai controllato le proprietà della casella combinata:
    Nome elemento: quello che ci trovi scritto qui dentro deve andare a finire dentro l'espressione
    Numero colonne: 2
    Larghezza colonne: 3 cm;3 cm (ho scritto valori a caso, ma certamente nessuno dei due deve avere 0 cm)
    Larghezza elenco: 6 cm (il totale di Larghezza colonne)
  • Re: Inserire valore di una maschera in una tabella

    Grazie OsvaldoLaviosa, però il problema non è la combobox. Attraverso la combobox riesco ad aggiornare una textbox presente sulla maschera. Il problema è che poi il campo della combobox viene salvato per bene nella tabella, la text box no, anche se nelle proprietà c'è origine dati giusta . Grazie per l'attenzione
  • Re: Inserire valore di una maschera in una tabella

    La textbox svolge soltanto una funzione visiva, chi comanda è sempre il valore numerico (o ID che sia) della casella combinata. La casella combinata si porta appresso automaticamente anche il valore della 2a colonna. Poi non ho capito a cosa ti serve o cosa vuoi fare della textbox che ha il suo valore a monte nella tabella di origine Clienti.
    Quale valore in quale tabella vuoi salvare?
  • Re: Inserire valore di una maschera in una tabella

    Ciao, grazie per l'interessamento. Il problema è stato risolto grazie all'aiuto di Angelo_Tbp. In pratica non me lo salvava perché la dimensione della colonna Cliente della tabella fatture era 0-2,54 e doveva essere più grande.E' assurdo però questa è la soluzione. Grazie ancora OsvaldoLaviosa
  • Re: Inserire valore di una maschera in una tabella

    In pratica il TextBox "Cliente" la cui origine è il campo [Cliente] della tabella Fatture aveva nella scheda "Ricerca" le seguenti proprietà cosi valorizzate:
    Num colonne:2
    colonna associata:1
    largezza colonne:0 cm;2,54 cm

    il campo è sempre stato correttamente valorizzato... il problema era che essendo stata associata la colonna 1 non si vedeva il valore perchè la sua largezza era 0 cm.
Devi accedere o registrarti per scrivere nel forum
12 risposte