Newsgroup: it.comp.appl.access
Titolo: New Record/ Modifica Record

Ciao a tutti.
Non sò a chi rivolgermi comunque congratulazioni per la gestione e il nuovo
aggiornamento sul sito comune!!!
GRAZIE DI ESISTERE!
Problema:
dato un elenco di record (a maschere continue) utilizzo l'apertura di una
form, relativa all'inserimento e/o modifica del record stesso!
Mi spiego:
la form di apertura è sempre quella solo che con un tasto la apro in
modifica per  l'aggiornamento/modifica eliminazione con l'altro la apro per
il solo inserimento:
....
    DoCmd.OpenForm "miaform"
    DoCmd.GoToRecord , , acNewRec
....
Il problema nasce che se la apro x inserimento nuovo record fino a che non
la salvo  (consideriamo di lavorare in rete con + utenti) e gli altri utenti
tentano la stessa operazioni mi viene fuori un bel casino, salva cose a
"..zz."!
Fino a che non salvo il nuovo record, sembre che tenga in memoria il record
precedente. Bisognerebbe probabilmente salvarla appena viene aggiornato un
campo....ma non la vedo una grande idea!!!
Ho addottato questa soluzione per non creare una form di sola modifica e una
form di solo inserimento. Mi sembrava una grande idea ma visto il risultato,
esclusivamente sulla multiutenza, mi trovo parecchio in difficolta.
Sperando di essere stato chiaro, qualcuno ha qualche idea?
Grazie
Saluti
Slim

 casino, salva cose a "..zz."!
[CUT]
In che senso? Potresti fare un esempio *pratico*?
Antonio.

 ha scritto nel messaggio
news:arbbch$h1pmi$1...@ID-162989.news.dfncis.de...

1) abbiamo una form1 (maschere continnue) dove è evidenziato un elenco di
dati riferiti ad una tabella
2) In corrispondenza di ogni record con un click apro la relativa form2 che
gestisce il singolo record (modifica/eliminazione). La form2 è filtrata per
l'apertura del relativo record della form1. Fin qui tutto OK.
3) nella stessa maschera della form1, in piè di pagina, ho un tasto per
l'inserimento di un nuovo record. L'evento mi apre sempre la Form2 con il
seguente codice:
    DoCmd.OpenForm "miaform"
    DoCmd.GoToRecord , , acNewRecord
L'azione che ne consegue è regolare tranne per il fatto che nella stessa
form2, se indietreggio con il mouse mi trovo anche il record momentaneamente
selezionato nella form1. Questo, da quanto ho capito nel solo caso della
multiutenza crea notevole rogne: se in due momentaneamente eseguono la
stessa azione  il salvataggio a delle reazioni anomale. Il perchè, secondo
il mio parere, per risparmiare tempo sul fatto di non creare due form2,
ossia una form2_i (per il solo inserimento) e una form2_m (per la sola
modifica e eliminazione)
Domanda:
esiste un metodo che mi dia la possibilità di utilizzare un'unica form
partendo che risponda a due specifiche azioni di SOLO INSERIMENTO (PULITO) e
SOLA MODIFICA/ELIMINAZIONE!!!
Mi rendo conto che è un casino speigare quanto mi accade?
Spero di essere stato un pò chiaro
Grazie cmq dell'interessamento, Saluti SLIM

 Grazie cmq dell'interessamento, Saluti SLIM
Certamente:
prova così:
- Per un nuovo record:
DoCmd.OpenForm "Nome della maschera", , , , acFormAdd
- Per uno esistente:
DoCmd.OpenForm "Maschera Anagrafica Articoli", , , _
      "[Codice]=""" & Me![ElencoArticoli] & """", acFormEdit
La maschera viene aperto in modalità inserimento e quindi non vedrai i
record già inseriti.
Fammi sapere
Antonio.

 ha scritto nel messaggio
news:arcuji$h61fo$1...@ID-162989.news.dfncis.de...

Come inserimento nuovo record ho risolto da DIO!!!
Come modifica ho provato il tuo codice così modificato:
DoCmd.OpenForm "cont_skeda", , , _
"[id] = """ & Me![ELENCO] & """", acFormEdit
e quando clikko sul comando mi da il seguente errore:
errore di run:time 450:
numero errato di argomenti o assegnazione di proprietà non valida.
premetto che lavoro ad progetto adp e che la maschera dei dati prima era
collegata con una StoreProcedure con relativo filtro. E funzia.
Ho pensato che con il tuo comando potevo evitare ls SP e collegare
direttamente la maschera alla tabella originaria e filtrarla con il tuo
comando
per quanto riguarda modifiche e/o annullavmenti.
Pretendo troppo.
Cmq grazie
Saluti
Slim


Forse il campo ID è tipo contatore o numerico?
Se è cosi modifica il codice in questo modo:
DoCmd.OpenForm "cont_skeda", , , _
"[id] = " & Me![ELENCO], acFormEdit
Antonio.

Ho risolto in questa maniera:
DoCmd.OpenForm "cont_skeda", , , _
"[ID] = " & ELENCO!ID, acFormEdit
e funziona tutto OK.
Per mia curiosità, quanto hai un attimo   e   se ha i un attimo, mi puoi
commentare il funzionamento, anche al mio email, l'istruzione:
........................... "[id] = """ & Me![ELENCO] & """"................
che argomenti si intendono tra le virgole?
Saluti, e grazie di cuore! Mi hai eliminato parecchie ore di lavoro!
slim

 slim
Gli argomenti tra virgolette " sono quelli di tipo testo, questo perchè in
un testo possono essere presenti anche degli spazi quindi si deve trovare un
modo per delimitare l'inizio e la fine testo.
Questo non è necessario per i numeri perchè hanno un formato facilmente
riconoscibile dal compilatore.
Es:
Dim Stringa AS string
Stringa = Ciao come va?
in questo caso si ha un errore perchè il compilatore non può capire qual'è
il testo da assegnare alla variabile Stringa, mentre:
Stringa = "Ciao come va?"
In questo modo l'inizio e la fine sono inequivocabili.
Comunque per maggiori info ti consiglio di dare un'occhiata all'help.
Antonio.