Newsgroup: it.comp.appl.access
Titolo: Automazione contatore.....(per Roberto)

Esimio,
ho provato con grande interesse il tuo suggerimento riguardo il problem di
dover rienumerare, automaticamente, un campo numerico non tipo contatore.
Ti espongo, di seguito, quello che hai autorevolmente indicato:
A fronte dell'evento "Su corrente" della sottomaschera genera la seguente
riga di codice VBA:
Private Sub Form_Current()
If Not IsNull(Forms!Maschera1!IDDitta) Then
Me!Progressivo.DefaultValue = DCount("Progressivo", _
"Tabella1", "IDDitta=" & Forms!Maschera1!IDDitta) + 1
End If
End Sub
cambiata, nel mio caso, in questa maniera
If Not IsNull(Forms!articoli!id) Then
Me!numero.DefaultValue = DCount("numero", _
"didascalie", "ID=" & Forms!articoli!id) + 1
End If
Ebbene, mi dà questo errore:
"ERRORE DI RUN-TIME '64479'
"L'espressione immessa come parametro di query ha provocato il seguente
errore:"l'oggetto non contiene l'oggetto di automazione ID".
A volte mi dà anche un errore sul carattere "_" (underscore) perchè non
riconosciuto.
L'errore si presenta immediatamente quando si aggiorna l'ID della maschera
principale, in questo caso quella degli articoli.
Le relazioni sono così definite:
tabella articoli - ID (contatore) uno a molti con IDARTICOLI (numerico)
nella tabella didascalie.
La tabella didascalie contiene n.2 campi: campo numero (numerico) e campo
didascalia (testo)
Spero che sia tutto chiaro e mi genufletto per la tua pazienza.
P.S. - NON VOGLIO DISTURBARTI E QUESTO PROBLEMA NON E' ASSOLUTAMENTE
IMPORTANTE. E' QUESTIONE SOLO DI SEMPLIFICARE AL MASSIMO LA PROGRAMMAZIONE
MA SOPRATTUTTO PER IMPARARE. GRAZIE ANCORA. MARCO.

 ha scritto nel messaggio
news:OKuj7.41661$%a4.15...@news.infostrada.it...

[CUT]
Se la tabella Articoli ha la seguente struttura:
ID                        Contatore e chiave primaria
NomeArticolo        Testo
ecc. ecc.
Se la tabella Didascalie ha la seguente struttura:
IDDidascalie          Contatore e chiave primaria
IDArticoli               Numerico
Numero                  Numerico
Didascalia              Testo
Se le due tabelle sono in relazione uno-a-molti in base ai campi ID e
IDArticoli.
Se la maschera principale si chiama Articoli ed ha come Origine record la
tabella Articoli.
Se il controllo contenuto nella maschera Articoli associato al campo ID si
chiama anche lui ID.
Se la sottomaschera ha come Origine record la tabella Didascalie.
Se la sottomaschera contiene solo due controlli chiamati Numero (associato
al campo Numero) e Didascalia (associato al campo Didascalia).
A fronte dell'evento "Su corrente" della sottomaschera genera il seguente
codice VBA:
Private Sub Form_Current()
If Not IsNull(Forms!Articoli!ID) Then
Me!Numero.DefaultValue = DCount("[Numero]", _
"Didascalie", "IDArticoli=" & Forms!Articoli!ID) + 1
Else
Me!Numero.DefaultValue = 1
End If
End Sub
Quanto al carattere "_" (underscore) serve solamente a rendere più leggibile
il codice, permettendo di distribuire su più righe una riga di codice VBA;
perché non ti dia errore è necessario che sia preceduto da uno spazio e
seguito da un ritorno carrello (Invio).
Di fatto uno degli errori che commettevi era che nei criteri della DCount tu
scrivevi "ID=" & Forms!Articoli!ID mentre dovevi scrivere "IDArticoli=" &
Forms!Articoli!ID ; inoltre non ho capito quale sia la chiave primaria della
tabella Didascalie.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:9mm25u$eti$1...@stargate1.inet.it...
