Newsgroup: it.comp.appl.access
Titolo: Dimensione campo numerico

Salve a tutti,
avrei la necessità di impostare le dimensioni di un campo, il cui tipo 
è numerico, ad un valore prefissato.
In pratica nella tabella dovrebbero esserci dei campi che contengono 
al massimo 3 numeri ma nelle varie proprietà non sono riuscito a 
trovare quella dove settare la dimensione.
Dovrei fare quello che si fa con le colonne di tipo testo dove si 
scegli la dimensione da 1 a 255 caratteri.
Ciao e grazie.
Luigi

Luigi ha scritto:

Un modo grezzo ma veloce è impostare nel campo della tabella la proprietà
'Valido se' a <1000, così non accettarà numeri superiori a 999.
-Marco-
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Ciao,
potresti anche utilizzare l' evento "Su Uscita" dalla Textbox, 
contollando la misura del testo inserito e impostando il Cancel sul 
TRUE  per impedire la perdita del focus. Mi spiego:
Private Sub Testo_Exit(Cancel As Integer)
If Len(Me.Test5) > 3 Then
MsgBox "Attenzione superato il limite di numeri consentito."
Cancel = True
End If
End Sub

 ha scritto nel messaggio
news:1170146349....@v45g2000cwv.googlegroups.com...



ma tu lavori direttamente nelle tabelle?
Non credo no?
Allora fai questi controlli in sede di maschera per esempio.
Il problema poi è quello di gestire il caso errato.
Devi accettare solo numeri da -999 a 999 ?
o da 0 a 999?
o anche i decimali?
E a quel punto che fai, tronchi, avvisi l'utente e annulli l'inserimento?
insomma, devi chiarirti prima...
Antonio

 insomma, devi chiarirti prima...
Io inserisco i dati nelle maschere ovviamente e lì riesco a fare tutti 
i controlli che mi servono. La necessità nasce dal fatto che questi 
dati poi devono essere esportati su un file di testo che deve 
rispondere a delle specifiche particolari e una di queste è la 
dimensione del campo.
Esempio: se il campo contiene 128 tutto ok, prendo 128 e lo scrivo nel 
file di testo;
se il campo contiene 20 la dimensione sul file di testo deve essere 
sempre di 3 "caratteri" (spazio + 2 numeri);
2 spazi + 1 numero se il campo contiene un solo numero.
Allora pensavo fosse conveniente impostare già la dimensione del campo 
proprio come mi serve.
In mysql questa cosa è fattibile per ogni tipo di campo, pensavo fosse 
una cosa altrettanto semplice anche con access.
Grazie per le risposte.
Luigi

 ha scritto nel messaggio
news:1170146349....@v45g2000cwv.googlegroups.com...



Ciao e grazie.
Luigi
Prova a vedere so ho capito bene la tua esigenza....!
Questa funzione ti permette di controllare la digitazione dei solu numeri(i
parametri Min e Max
servono per limitare il campo dei numeri non il valore e la quantità),
quindi dovrai effettuare anche
il Test sulla lunghezza che puoi effettuare su KeyDown così:
Private Sub Testo0_KeyDown(KeyCode As Integer, Shift As Integer)
   Select Case KeyCode
      Case 44, 45, vbKeyBack, vbKeyTab, vbKeyClear, vbKeyReturn,
vbKeyEscape, vbKeyDelete, vbKeyNumlock
         KeyCode = KeyCode
      Case Else
         If Len(Me.Testo0.Text) > 2 Then KeyCode = 0
   End Select
End Sub
Private Sub Testo0_KeyPress(KeyAscii As Integer)
   KeyAscii = CkDgtNumber(KeyAscii, 0, 9)
End Sub
Public Function CkDgtNumber(KeyAscii As Integer, nMin As Integer, nMax As
Integer) As Integer
'Verifica che venga inserito un NUMERO
'dove nmax =Numero Limite
'Da inserire nell'EVENTO KEY_PRESS
'48-57
   CkDgtNumber = 30
   If KeyAscii >= 48 + nMin And KeyAscii <= 48 + nMax Then CkDgtNumber =
KeyAscii
   Select Case KeyAscii
      Case 44, 45
         CkDgtNumber = KeyAscii
      Case vbKeyBack, vbKeyTab, vbKeyClear, vbKeyReturn
         CkDgtNumber = KeyAscii
      Case vbKeyEscape, vbKeyDelete, vbKeyNumlock
         CkDgtNumber = KeyAscii
   End Select
End Function
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

 wrote:


Penso di si!
Provo e vi faccio sapere!
Ciao e grazie,
Luigi

 ha scritto nel messaggio
news:1170170431....@k78g2000cwa.googlegroups.com...
Potresti utilizzare un campo Numerico indicamdo nella Dimensione il
tipo "Decimale" con precisione 3 (tre interi).
Potresti scrivere correttamente DOPO il quoting
Antonio

 Antonio
In che senso ? Ho sbagliato l'ordine del messaggio ?

 ha scritto nel messaggio
news:1170231169.1...@l53g2000cwa.googlegroups.com...

Esatto.
Adesso hai quotato giustamente
Antonio