Impossibilità di inserimento record da maschera

di il
5 risposte

Impossibilità di inserimento record da maschera

Buon giorno a tutti. E’ la prima volta che chiedo aiuto a questo gruppo, sono un'autodidatta un po' approssimativo e procedo per tentativi.
Ho creato un database in Access 2007 con Tre tabelle:

[Specialista]
ID 1,2,3
Nome a, b, c

[Data]
ID 1, 2, 3, 4, 5, 6
specialista 1,1, 2, 3, 3, 3
data 01/01/2017; 31/12/2017; 15/08/2017, 01/01/2017, 15/08/2017, 31/12/2017

[Appuntamento]
ID 1, 2, 3, 4, 5, 6,
data 1, 2, 2, 5, 6, 62
utente aaa, bbb, ccc, ddd, eee, fff

Le tabelle sono legate dalle Relazioni:
[specialista][ID]------[data][specialista]
[data][ID]--------------[appuntamento][data]

Ho creato una maschera [Specialista] con una sottomaschera [Data] in cui compaiono le date dello specialista.
Dalla sottomaschera [data] cliccando su una data specifica apro la maschera [Appuntamento] in cui ho dovuto inserire su "after update" del controllo [data]:
Me.DATA.DefaultValue = "=" & Me.DATA.Value
altrimenti il campo mi rimaneva vuoto( #nome?).

Funziona tutto perfettamente se è già presente qualche record nella tabella [appuntamento] mentre quando apro un appuntamento vuoto non riesco ad inserire il primo appuntamento e compare l’errore:

ERRORE DI RUN TIME 2447
Uso dell’operatore punto (.), punto esclamativo(!)o delle parentesi non valido

Qualcuno mi può aiutare?
Grazie
Oscar

5 Risposte

  • Re: Impossibilità di inserimento record da maschera

    Sinceramente fatico a capire lo scenario... mi pare tu abbia mischiato troppe cose... ma magari sono io che fatico.
    Quello che credo sia certo è questo errore
    
    ERRATO
    Me.DATA.DefaultValue = "=" & Me.DATA.Value
    Se devi assegnare un DefaultValue di tipo Data, a parte NON RICHIEDERE [=] nel valore assegnato non è una funzione, serve formattarlo in modo appropiato
    
    GIUSTO
    Me!DATA.DefaultValue = Str(CDbl(Me!DATA.Value))
  • Re: Impossibilità di inserimento record da maschera

    Grazie per l'interessamento. Hai ragione ho messo troppa carne al fuoco. Rivedendo il tutto mi sono accorto che il problema in sintesi è il fatto che il record [ID] [data] non finisce automaticamente in [data][appuntamento] e pertanto quando vado ad aprire la maschera che punta la tabella [Appuntamento] con il filtro sul nuovo record non lo trova e quindi mi restituisce un record vuoto e l'impossibilità di nuovo inserimento.
    Avrei bisogno, quindi, di aggiornare la tabella [Appuntamento] con il record [ID] [data] appena inserito.
    Mi sai suggerire come fare?
    Saluti
    Oscar
  • Re: Impossibilità di inserimento record da maschera

    oscar.genova ha scritto:


    Grazie per l'interessamento. Hai ragione ho messo troppa carne al fuoco. Rivedendo il tutto mi sono accorto che il problema in sintesi è il fatto che il record [ID] [data] non finisce automaticamente in [data][appuntamento] e pertanto quando vado ad aprire la maschera che punta la tabella [Appuntamento] con il filtro sul nuovo record non lo trova e quindi mi restituisce un record vuoto e l'impossibilità di nuovo inserimento.
    Avrei bisogno, quindi, di aggiornare la tabella [Appuntamento] con il record [ID] [data] appena inserito.
    Mi sai suggerire come fare?
    Saluti
    Oscar
    Se la maschera di INSERIMENTO lato MOLTI fosse una sottomaschera legata Campi Master/Secondari, questo problema NON esisterebbe, se invece vuoi gestire una Maschera di INSERIMENTO Singola ed Indipendente, è ovvio che tu debba trasferire alla Maschera il campo ChiaveEsterna da assegnare al Controllo Associato al campo stesso per rispettare la Relazione 1-M, altrimenti è evidente che non possa inserire un Record lato M senza un corrispettivo legame lato1.
    Quindi puoi passare al parametro OpenArgs della Funzione OpenForm il valore del campo PK della Tabella(Maschera) lato 1, e su LOAD della Form di INSERIMENTO leggi la proprietà OpenArgs nella quale, se in AddNew troverai il Valore passato e, lo assegni al DefaultValue del controllo associato alla FK.
    Si usa DefaultValue in quanto non deve essere generato il Record su Apertura, ma solo l'associazione della Chiave.
    Attenzione alla Sintassi quando assegni DefaultValue.
  • Re: Impossibilità di inserimento record da maschera

    Grazie al tuo aiuto ho risolto.
    Oscar
  • Re: Impossibilità di inserimento record da maschera

    oscar.genova ha scritto:


    Grazie al tuo aiuto ho risolto.
    Oscar
    Magari spiega meglio come al fine di dare supporto anche a chi legge.
Devi accedere o registrarti per scrivere nel forum
5 risposte