NumAuto: remise à zéro du cpt

Le
Nicolas
bonsoir,
j'utilise la fonction TransfertText pour importer des données dans ma base.
lorsque j'exécute l'import depuis le menu fichier, l'assistant me
propose de créer une clé primairedemande que j'accepte.

lorsque j'exécute l'import avec VB je ne trouve pas cette option?
existe-elle??
sinon comment remettre à zéro le numauto de ma table à chaque ré-import??

si remise à zéro de numauto impossible, comment renuméroter par pas de 1
le champ numérique qu'une table??

enfin existe-il une fonction VB qui permet de rechercher la valeur du
champ de l'enregistrement n? (exemple recherche la valeur du champ n°1
correspondant à l'enregistrement n°9),

je pense avec toutes les réponses à ces questions solutionner mon pb!!
merci d'avance pour vos réponses
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Bear76
Le #20217101
Nicolas avait soumis l'idée :
bonsoir,
j'utilise la fonction TransfertText pour importer des données dans ma base.
lorsque j'exécute l'import depuis le menu fichier, l'assistant me propose de
créer une clé primaire...demande que j'accepte.

lorsque j'exécute l'import avec VB je ne trouve pas cette option?
existe-elle??
sinon comment remettre à zéro le numauto de ma table à chaque ré-import??

si remise à zéro de numauto impossible, comment renuméroter par pas de 1 le
champ numérique qu'une table??

enfin existe-il une fonction VB qui permet de rechercher la valeur du champ
de l'enregistrement n? (exemple recherche la valeur du champ n°1
correspondant à l'enregistrement n°9),

je pense avec toutes les réponses à ces questions solutionner mon pb!!
merci d'avance pour vos réponses



Bonjour,
Tu peux en vba créer unt tbl et formater les champs selon besoin.
Voici une fonction modifiée (origine 3stone)que tu peux copier dans un
module. Elle permet de créer la tbl Nouvelle table, d'insérer les 3
champs NoAuto, ChampTexte et EntierLong, d'affecter à chacun des champs
un type de données et au final de créer une clé primaire et un index
pour le champ NoAuto.

Public Function créer_table()
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Dim ind As DAO.Index
Set dbs = CurrentDb()
Set tdf = dbs.CreateTableDef("NouvelleTable")
Set fld = tdf.CreateField("NoAuto", dbLong)
fld.OrdinalPosition = 1
fld.Attributes = dbAutoIncrField
tdf.Fields.Append fld
Set fld = tdf.CreateField("ChampTexte", dbText)
fld.OrdinalPosition = 2
fld.Size = 50
fld.Required = True
fld.AllowZeroLength = False
tdf.Fields.Append fld
Set fld = tdf.CreateField("EntierLong", dbLong)
fld.OrdinalPosition = 3
fld.Attributes = dbFixedField
tdf.Fields.Append fld
dbs.TableDefs.Append tdf
Set ind = tdf.CreateIndex("NoAuto")
Set fld = ind.CreateField("NoAuto", dbLong)
ind.Fields.Append fld
ind.Primary = True
tdf.Indexes.Append ind
tdf.Indexes.Refresh
RefreshDatabaseWindow
MsgBox "La table " & tdf.Name & " a été créée"
Set fld = Nothing
Set tdf = Nothing
Set dbs = Nothing
End Function

http://www.3stone.be/access/articles.php?lng=fr&pg&
@+
Nicolas
Le #20221361
merci beaucoup pour ta réponse


Bear76 a écrit :
Nicolas avait soumis l'idée :
bonsoir,
j'utilise la fonction TransfertText pour importer des données dans ma
base.
lorsque j'exécute l'import depuis le menu fichier, l'assistant me
propose de créer une clé primaire...demande que j'accepte.

lorsque j'exécute l'import avec VB je ne trouve pas cette option?
existe-elle??
sinon comment remettre à zéro le numauto de ma table à chaque ré-import??

si remise à zéro de numauto impossible, comment renuméroter par pas de
1 le champ numérique qu'une table??

enfin existe-il une fonction VB qui permet de rechercher la valeur du
champ de l'enregistrement n? (exemple recherche la valeur du champ n°1
correspondant à l'enregistrement n°9),

je pense avec toutes les réponses à ces questions solutionner mon pb!!
merci d'avance pour vos réponses



Bonjour,
Tu peux en vba créer unt tbl et formater les champs selon besoin.
Voici une fonction modifiée (origine 3stone)que tu peux copier dans un
module. Elle permet de créer la tbl Nouvelle table, d'insérer les 3
champs NoAuto, ChampTexte et EntierLong, d'affecter à chacun des champs
un type de données et au final de créer une clé primaire et un index
pour le champ NoAuto.

Public Function créer_table()
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Dim ind As DAO.Index
Set dbs = CurrentDb()
Set tdf = dbs.CreateTableDef("NouvelleTable")
Set fld = tdf.CreateField("NoAuto", dbLong)
fld.OrdinalPosition = 1
fld.Attributes = dbAutoIncrField
tdf.Fields.Append fld
Set fld = tdf.CreateField("ChampTexte", dbText)
fld.OrdinalPosition = 2
fld.Size = 50
fld.Required = True
fld.AllowZeroLength = False
tdf.Fields.Append fld
Set fld = tdf.CreateField("EntierLong", dbLong)
fld.OrdinalPosition = 3
fld.Attributes = dbFixedField
tdf.Fields.Append fld
dbs.TableDefs.Append tdf
Set ind = tdf.CreateIndex("NoAuto")
Set fld = ind.CreateField("NoAuto", dbLong)
ind.Fields.Append fld
ind.Primary = True
tdf.Indexes.Append ind
tdf.Indexes.Refresh
RefreshDatabaseWindow
MsgBox "La table " & tdf.Name & " a été créée"
Set fld = Nothing
Set tdf = Nothing
Set dbs = Nothing
End Function

http://www.3stone.be/access/articles.php?lng=fr&pg&
@+




Publicité
Poster une réponse
Anonyme