Selon : Bonjour ou bonsoirChoisir un type numérique qui peut contenir autant |
Blaise Cacramp posted on Wednesday, September 09, 2009 3:10 PM
|
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
---- ---- ----
21abb807-73bb-40e6-adfa-fe414d4a68d2@y9g2000yqn.googlegroups.com...
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 |
 |
|
_forcer_un_type_de_champ_à_la_création_de_la_table |
3stone posted on Thursday, September 10, 2009 7:06 AM
|
Salut,
Le SQL ne propose pas les possibilit?s du VBA...
http://www.3stone.be/access/articles.php?lng=fr&pg=26
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos g?n?rales) |
 |
|
_forcer_un_type_de_champ_à_la_création_de_la_table |
3stone posted on Thursday, September 10, 2009 8:12 AM
|
Salut,
[...]
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) |
 |
|
forcer_un_type_de_champ_à_la_création_de_la_table |
le Nordiste posted on Monday, October 26, 2009 2:17 PM
|
Bonjour,
J'ai une requ=EAte cr=E9ation de table qui va bien, merci=85
Je la lanc epar un bout de code VB.
je constate qu'un champ num=E9rique
s'affiche =E0 la main en 294300003474 et apr=E9s un lancement par VB
en2,94300003474E+11 .
Comment faire pour forcer le type de donn=E9e
Merci pour votre collaboration,
le Nordiste |
 |
|
_forcer_un_type_de_champ_à_la_création_de_la_table |
le Nordiste posted on Monday, October 26, 2009 2:17 PM
|
Bonjour Dom74,
Tout faux c'est b=E9tement un num=E9ro de facture, mais peu importe, le Pb
pour moi reste entier.
La voie que tu donnes va peut =E9tre m'=E9clairer.
Merci, |
 |
|
_forcer_un_type_de_champ_à_la_création_de_la_table |
le Nordiste posted on Monday, October 26, 2009 2:17 PM
|
r un
C'est une s=E9rie num=E9rique croissante, rien =E0 en extraire.
Comment peut on faire =E7a au sein de la requ=EAte CREATE ?
Plus g=E9n=E9ralement comment donner un type =E0 un champ lors de la requ=
=EAte
CREATE
Merci pour votre aide
le Nordiste |
 |
|
_forcer_un_type_de_champ_à_la_création_de_la_table |
le Nordiste posted on Monday, October 26, 2009 2:17 PM
|
qu=EAte
D=E9sol=E9 c'est pas une CREATE mais directement ceci :
lanc=E9 dans VB car il ty a des parametres :
'**********************************
'supprimer la table FaCourante pr=E9c=E9dente
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=CATE
strSQL =3D "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)=3D""crit1"")" _
& "And ((UneTable.Champ4) Like ""*MES*""));"
**********************************
Je supprime la table en premier pour n'avoir que les dernieres
valeurs.
peut =EAtre suivant ton exemple faut il faire un CREATE entre la
suppr'ssion et la reprise des nouvelles donn=E9es.
=C0 moins qu'on ne puisse faire tout en un coup :
eg : & "UneTable.Champ10 AS MONTANT CURRENCY, " _
Merci pour tes conseils avis=E9s,
J'ai fait un saut sur ton site : pas mal comme mine de renseignements.
le Nordiste |
 |
|
_forcer_un_type_de_champ_à_la_création_de_la_table |
le Nordiste posted on Monday, October 26, 2009 2:17 PM
|
De toutes fa=E7on =E7a marche pas parce que ma 2=E9me requete trouve devant
elle une table du m=EAme nom donc erreur.
Je suis ton conseil de cr=E9er la table avant toute chose,
puis je la vide ( comment faire d'ailleurs?)
et je refais ma requ=E8te pour remplir ma table |
 |
|
_forcer_un_type_de_champ_à_la_création_de_la_table |
le Nordiste posted on Monday, October 26, 2009 2:17 PM
|
voila qui est fait :
Un premier code pour initialiser la table : SQL =3D CREATE =85 lanc=E9 un=
e
seule fois dans la vie de la base.
Un second code qui purge la table puis ins=E9re les donn=E9es du mois =3D
SQl : INSERT INTO=85
autant de fois qu'il y a de documents sources.
PAR CONTRE un dernier probl=E9me :
J'extrait du nom du document source le NumCpte qui se pr=E9sente sous la
forme C-CCCCC
C =E9tant des chiffres , extrait par un MID$ ou un MID, c'est le m=EAme
r=E9sultat sous VB.
Dans ma table je ne trouve que _CCCc le premier chiffre est perdu
et celui =E0 droite est modifi=E9.
Pourqoui et comment corriger =E7a ?
Merci |
 |
|
_forcer_un_type_de_champ_à_la_création_de_la_table |
le Nordiste posted on Monday, October 26, 2009 2:17 PM
|
Pb r=E9solu : lorsqiue j'extrait strCpteFa du nom de la table, je
rajoute des guillemets de part et d'autre
strCpteFa =3D """" & Mid$(strTableFROM, 27, 7) & """"
Je passe =E0 l'efficace en abandonnat la puret=E9 et la beaut=E9. MAIS =C7A
MARCHE
Une autre solution =E0 proposer ?
Merci du sacr=E9 coup de main 3stone. |
 |
|