Newsgroup: it.comp.appl.access
Titolo: Campo ad autoincremento

In una maschera relativa all'anagrafica clienti ho un pulsnate a cui ho 
associato il seguente codice
sostanzialmente se l'utente mi inserisce almeno il nome il recordo viene 
slavato
poi però ho bisogno di gestire un codice ad autoincremento, in pratica mi 
prendo il massimo valore
con la funzione Dmax  gli aggiungo uno e scrivo tutto nel campo
stranamente però ogni tento viene aggiunto uno zero!!!!  per cui da quel 
momento in poi è impossibile aggiungere altri record
non riesco proprio a capire dove sbaglio!
Private Sub PulsanteAggiungi_Click()
  Dim ctl As Control
  Dim lngNextID As Long
  If (Me![Nome] <> "") Then
      If MsgBox("Confermi l'operazione?", vbYesNo, "Conferma/Annulla") = 
vbYes Then
                ' salva i record
                DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , 
acMenuVer70
                 'Trova il codice massimo aggiungi 1 a tale codice e 
assegnalo al codice appena inserito
                  lngNextID = DMax("[Codice Cliente]", "tab_Cliente") + 1
                  Me![Codice Cliente] = lngNextID
                  ' riporta il colore bianco nelle caselle
                   For Each ctl In Me.Controls
                   ' controllo se si tratta di un box di testo
                   If ctl.ControlType = acTextBox Then
                       ctl.BackColor = RGB(255, 255, 255)
                   End If
                   Next ctl
                   ' rendi visibili i pulsanti nascosti
                   Me!PulsanteConferma.Visible = True
                   Me!PulsanteModifica.Visible = True
                   Me!PulsanteIndietro.Visible = True
                   Me!PulsanteAvanti.Visible = True
                   ' nascondi alcuni pulsanti che non occorre visualizzare
                   Me!PulsanteConferma.Visible = False
                   ' blocca tutti i campi
                   For Each ctl In Me.Controls
                   ' controllo se si tratta di un box di testo
                   If ctl.ControlType = acTextBox Then
                     ctl.Locked = True
                   End If
                   Next ctl
                      ' rendi visibile il pulsante chiusura maschera
                     Me!PulsanteChiudi.Visible = True
                      ' rendi visibile il pulsante cerca
                     Me!PulsanteCerca.Visible = True
                      ' rendi visibile il pulsante elimina
                     Me!PulsanteElimina.Visible = True
                     ' sposta il focus
                     [Forms]![Mask_Cliente]![Nome].SetFocus
                     Me!PulsanteAggiungi.Visible = False
        Else
            ' annulla l'operazione di inserimento nuovo record
                DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , 
acMenuVer70
            ' riporta il colore bianco nelle caselle
                  For Each ctl In Me.Controls
                  ' controllo se si tratta di un box di testo
                   If ctl.ControlType = acTextBox Then
                      ctl.BackColor = RGB(255, 255, 255)
                   End If
                   Next ctl
                   ' rendi visibili i pulsanti nascosti
                   Me!PulsanteConferma.Visible = True
                   Me!PulsanteModifica.Visible = True
                   Me!PulsanteIndietro.Visible = True
                   Me!PulsanteAvanti.Visible = True
                    ' nascondi alcuni pulsanti che non occorre visualizzare
                   Me!PulsanteConferma.Visible = False
                      ' blocca tutti i campi
                        For Each ctl In Me.Controls
                         ' controllo se si tratta di un box di testo
                          If ctl.ControlType = acTextBox Then
                            ctl.Locked = True
                        End If
                          Next ctl
                      ' rendi visibile il pulsante chiusura maschera
                        Me!PulsanteChiudi.Visible = True
                      ' rendi visibile il pulsante cerca
                          Me!PulsanteCerca.Visible = True
                        ' rendi visibile il pulsante elimina
                          Me!PulsanteElimina.Visible = True
                      ' sposta il focus
                      [Forms]![Mask_Cliente]![Nome].SetFocus
                       Me!PulsanteAggiungi.Visible = False
          End If
      Else
       MsgBox ("Attenzione occorre compilare i campi obbligatori")
       Me![Ragione Sociale].SetFocus
     End If
End Sub

 acMenuVer70
docmd.runcommand accCmdSaveUndo (o qlc del genere, guarda sulla guida,
ci sono tutti i metodi runcommand)
ciao,
Panathos