forcer un type de champ à la création de la table

Le
le Nordiste
Bonjour,

J'ai une requête création de table qui va bien, merci…
Je la lanc epar un bout de code VB.
je constate qu'un champ numérique
s'affiche à la main en 294300003474 et aprés un lancement par VB
en2,94300003474E+11 .
Comment faire pour forcer le type de donnée


Merci pour votre collaboration,

le Nordiste
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
Dom74
Le #20097371
Bonsoir le Nordiste,

Ton champ, ne serait-til pas un numéro de série d'une machine à exporter
dans un inventaire de parc sous Access ... tenue en amont sur un client
commençant par Per.... ???

Si oui, j'ai le même problème et je n'ai pas trouvé de solution
satisfaisante...sauf à faire un copier-coller du dit champ de la base
distante vers la base locale.

Amités.

Dom74


"le Nordiste"
Bonjour,

J'ai une requête création de table qui va bien, merci…
Je la lanc epar un bout de code VB.
je constate qu'un champ numérique
s'affiche à la main en 294300003474 et aprés un lancement par VB
en2,94300003474E+11 .
Comment faire pour forcer le type de donnée


Merci pour votre collaboration,

le Nordiste
le Nordiste
Le #20099891
Bonjour Dom74,

Tout faux c'est bétement un numéro de facture, mais peu importe, le Pb
pour moi reste entier.
La voie que tu donnes va peut étre m'éclairer.


Merci,
Blaise Cacramp
Le #20105951
Selon : Bonjour ou bonsoir

Choisir un type numérique qui peut contenir autant de chiffres, utiliser un
format "000000000000000"
voir s'il peut être subdivisé (année, mois, série)


Cdt, Blaise
---- ---- ----


"le Nordiste"
Bonjour,

J'ai une requête création de table qui va bien, merci…
Je la lanc epar un bout de code VB.
je constate qu'un champ numérique
s'affiche à la main en 294300003474 et aprés un lancement par VB
en2,94300003474E+11 .
Comment faire pour forcer le type de donnée


Merci pour votre collaboration,

le Nordiste
le Nordiste
Le #20108611
> Choisir un type numérique qui peut contenir autant de chiffres, utilise r un
format "000000000000000"
voir s'il peut être subdivisé (année, mois, série)



C'est une série numérique croissante, rien à en extraire.

Comment peut on faire ça au sein de la requête CREATE ?

Plus généralement comment donner un type à un champ lors de la requ ête
CREATE

Merci pour votre aide

le Nordiste
3stone
Le #20110081
Salut,

le Nordiste wrote:
Choisir un type numérique qui peut contenir autant de chiffres,
utiliser un format "000000000000000"
voir s'il peut être subdivisé (année, mois, série)



C'est une série numérique croissante, rien à en extraire.

Comment peut on faire ça au sein de la requête CREATE ?

Plus généralement comment donner un type à un champ lors de la requête
CREATE



Le SQL ne propose pas les possibilités du VBA...
http://www.3stone.be/access/articles.php?lng=fr&pg&

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
le Nordiste
Le #20110261
> > Plus généralement comment donner un type à un champ lors de la re quête
> CREATE




Désolé c'est pas une CREATE mais directement ceci :
lancé dans VB car il ty a des parametres :

'**********************************
'supprimer la table FaCourante précédente
On Error Resume Next 'Si il n'y a pas d'ancienne
table temporaire
CurrentDb.TableDefs.Delete (strTableINTO) 'Suppression de
l'ancienne table
On Error GoTo Erreur 'Reprendre le traitement normal
des erreurs


'INITIALISATION DE LA REQUÊTE
strSQL = "SELECT " _
& "UneTable.Champ4 AS PRESTATION, " _
& "UneTable.Champ6 AS DEBUT, " _
& "UneTable.Champ7 AS FIN, " _
& "UneTable.Champ10 AS MONTANT, " _
& "INTO [" & strTableINTO & "]" _
& "FROM [" & strTableFROM & "] AS UneTable " _
& "WHERE (((UneTable.Champ4)=""crit1"")" _
& "And ((UneTable.Champ4) Like ""*MES*""));"
**********************************

Je supprime la table en premier pour n'avoir que les dernieres
valeurs.

peut être suivant ton exemple faut il faire un CREATE entre la
suppr'ssion et la reprise des nouvelles données.
À moins qu'on ne puisse faire tout en un coup :

eg : & "UneTable.Champ10 AS MONTANT CURRENCY, " _

Merci pour tes conseils avisés,
J'ai fait un saut sur ton site : pas mal comme mine de renseignements.

le Nordiste
3stone
Le #20110611
Salut,

le Nordiste wrote:
[...]

Je supprime la table en premier pour n'avoir que les dernieres
valeurs.




C'est une mauvaise idée de supprimer une table pour la recréer.
Il faut vider une table, ainsi elle garde toutes ses propriétés.

Les bases de données qui créent des tables à tour de bras
n'ont généralement pas bénéficié d'une préparation suffisante.

Les cas de création de table doivent rester exeptionnels.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
le Nordiste
Le #20110721
De toutes façon ça marche pas parce que ma 2éme requete trouve devant
elle une table du même nom donc erreur.

Je suis ton conseil de créer la table avant toute chose,
puis je la vide ( comment faire d'ailleurs?)

et je refais ma requète pour remplir ma table
le Nordiste
Le #20111571
> et je refais ma requète pour remplir ma table



voila qui est fait :

Un premier code pour initialiser la table : SQL = CREATE … lancé un e
seule fois dans la vie de la base.
Un second code qui purge la table puis insére les données du mois =
SQl : INSERT INTO…
autant de fois qu'il y a de documents sources.

PAR CONTRE un dernier probléme :
J'extrait du nom du document source le NumCpte qui se présente sous la
forme C-CCCCC
C étant des chiffres , extrait par un MID$ ou un MID, c'est le même
résultat sous VB.

Dans ma table je ne trouve que _CCCc le premier chiffre est perdu
et celui à droite est modifié.
Pourqoui et comment corriger ça ?

Merci
le Nordiste
Le #20111681
Pb résolu : lorsqiue j'extrait strCpteFa du nom de la table, je
rajoute des guillemets de part et d'autre

strCpteFa = """" & Mid$(strTableFROM, 27, 7) & """"


Je passe à l'efficace en abandonnat la pureté et la beauté. MAIS ÇA
MARCHE


Une autre solution à proposer ?


Merci du sacré coup de main 3stone.
Publicité
Poster une réponse
Anonyme