Newsgroup: it.comp.appl.access
Titolo: Creazione record da codice: errore in apertura maschera

Salve a tutti,
nuovo problema su una procedura per la quale già avevo chiesto
aiuto...   acc...!
ho una maschera in cui ho due caselle di testo non associate: una data
([ctlCalendarConf])  e un nominativo ([ctlTecnicoConf]).
La mia intenzione è:
1) se c'è già un record nella tabella "TS"  con quella data  e quel
nominativo la procedura me lo segnala con un msgbox e mi consente di
uscire oppure di aprire una form di modifica;
2) altrimenti crea il record e mi apre la maschera proponente i due
dati (data e tecnico) presi dalla maschera precedente e altri dati da
immettere.
Riporto la procedura associata all'evento "su clic" di un pulsante
della maschera:
Dim IntOpzioni As Integer
Dim bytscelta As Byte
If DCount("*", "TS", "[Data]=#" & Format(Me![ctlCalendarConf],
"dd/mm/yyyy") & "# And [Tecnico]='" & Me![ctlTecnicoConf] & "'") > 0
Then
IntOpzioni = vbQuestion + vbOKCancel
bytscelta = MsgBox("C'è già una data per questa data e questo tecnico"
& _
                    "la apro per modifiche?", IntOpzioni)
                    If bytscelta = vbCancel Then
                        DoCmd.Close acForm, "Conferma Immissione"
                        GoTo Uscita_
                    End If
       DoCmd.OpenForm "TS", , , "[Data]=#" &
Format(Me![ctlCalendarConf], "dd/mm/yyyy") & "# And [Tecnico]='" &
Me![ctlTecnicoConf] & "'"
       Exit Sub
Else
Dim rst As DAO.Recordset
Dim stLinkCriteria As String
Set rst = CurrentDb.OpenRecordset("TS")
    rst.AddNew
    rst.Fields("Data").Value = Me!ctlCalendarConf
    rst.Fields("Tecnico").Value = Me!ctlTecnicoConf
    rst.Update
    DoCmd.OpenForm "TS", , , "[Data]=#" & Format(Me![ctlCalendarConf],
"dd/mm/yyyy") & "# And [Tecnico]='" & Me![ctlTecnicoConf] & "'"
    Set rst = Nothing
End If
Uscita_:
Il problema è che questa fetente di procedura a volte apre la maschera
correttamente, riportando la data e il nominativo, mentre altre volte
mi apre la stessa maschera come se fosse in immissione nuovo record,
anche se il record viene regolarmente creato nella tabella "TS".
Inoltre, se non mi apre la maschera correttamente, immettendo la
stessa data che provoca l'errore, continua creare nuovi record in
tabella.
Tale errore tende a verificarsi per lo più con le prime date del mese,
ma non sempre! Insomma, anche immettendo  centinaia di record per
prova, non c'è, o meglio, non sono riuscito a stabilire un nesso
logico....
Spero di essere stato chiaro e ringrazio fin d'ora...
Sandro Berardi

 Tale errore tende a verificarsi per lo più con le prime date del mese,
Ho l'impressione che non gestisca correttamente le date
--
ac

 Sandro Berardi
Prova con
Format(Me![ctlCalendarConf],"mm/dd/yyyy")
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

On Thu, 19 Feb 2009 19:30:48 +0100, 
salvi...@accessgroup.it
 (sv)
wrote:

Grazie, ma è  già formattata così...!

>> Then
Convertile in long clng(tuadata)
lasciando stare commenti su quel nome "Data" per il campo
-- 
-- 
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access

-- 
 Chiedo scusa, anche per l'inestetismo,  ma devo:
definire una variabile locale tipo Long e dargli il valore della data
immessa? Cioe
Dim miaData as Long
miaData = CLng([ctlCalendar]) 
e poi nella DLookUp tratto miaData?
Perchč se č cosě mi da errore Run-Time '13' - tipo non corrispondente

 Grazie, ma è  già formattata così...!
Non credo proprio


-- 
Vero, scusate la distrazione, ma anche cosě ...non va!
Grazie comunque

>
prova cosi:
If DCount("*", "TS", "[Data]=Me![ctlCalendarConf] And [Tecnico]='" & 
Me![ctlTecnicoConf] & "'") > 0
-- 
Ciao
Geppo 

Me![ctlTecnicoConf] & "'") > 0
 
Così mi da errore runtime 2001 "Operazione precedente annullata"
Non mi sembrava una cosa così complessa...!
Grazie comunque!
Sandro

 Sandro
-- 
Ciao
Geppo 


Grazie, 
ma con questo script mi ridà il problema iniziale cioè con alcune date
è ok, con altre crea il record ma apre la maschera in senza riportare
i dati immessi nella maschera d'origine, come se fosse in modalità
immissione dati.
A questo punto tenterò con qualcosa di diverso, tipo tre campi
separati per giorno /mese/anno, oppure...boh...!
Comunque grazie ancora
Sandro

 Sandro
-- 
Ciao
Geppo 




Geppo,
non so come ringraziarti per il tempo che mi hai dedicato, l'ultimo
script che mi hai postato invece funziona, c'era un latro mio
errore...
Grazie ancora

 Grazie ancora
Grazie a te per il feedback.
-- 
Ciao
Geppo