Bonjour,
Je souhaite dans une requête obtenir un champ sous la forme 10/12/07 à partir d'un champ numérique de ma table qui est = 71210
Est-ce possible ?
Je n'ai pas trouvé de solutions sur le forum, peut être ai-je mal cherché?
Merci d'avance
Bonjour,
Je souhaite dans une requête obtenir un champ sous la forme 10/12/07 à partir d'un champ numérique de ma table qui est = 71210
Est-ce possible ?
Je n'ai pas trouvé de solutions sur le forum, peut être ai-je mal cherché?
Merci d'avance
Bonjour,
Le plus simple est d'ajouter un champ à ta requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part DateTexte:Format$([TaDateChiffre];"jj/mm/aa")
Merci Alain36, mais cela ne fonctionne pas; J'ai bien précisé que le champ à convertir état numérique donc pas au format date
Bonjour,
Essaye cela
Je m'en suis servi pour le test, c'est la piste à suivre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part DateSerial(Format(Left(71210,1),"00"),Mid(71210,2,2),Right(71210,2))
Code : Sélectionner tout - Visualiser dans une fenêtre à part DateSerial(Left(monchamp, Len(monchamp) - 4), Mid(monchamp, Len(monchamp) - 3, 2), Right(monchamp, 2))
Merci à tous,
Je vais essayé ces différentes solutions
bonjour et merci de m'acceuillir sur le forum.
j'y ai déjà trouvé de nombreuses réponses, mais là, je cale.
access 2003-2007 requête.
j'ai un champ 'num encodage' qui est un champ numérique.
dans une requête, j'essaie d'ajouter un champ 'refperso' qui devrait enlever les 3 derniers chiffres du contenu (5 où 6 chiffres) et me donner la valeur en format 'texte'.
je bute sur la formule à appliquer.
un exemple : 10654 (champ 'num encodage') et je voudrais obtenir '10' puis ajouter au résultat '-' + '10654' afin d'obtenir "10-10654" soit mon numéro de référence personnelle.
un autre exemple : 110688 (champ 'num encodage') et je voudrais obtenir '110' puis ajouter au résultat '-' + '110688' afin d'obtenir "110-110688"
dans ma requête je fais 'refperso:[num encodage] et j'obtiens le bon résultat mais en numérique, je ne sais pas me servir de 'right' pour extraire, et format (tous mes essais se sont soldés par 'invalide')
si une bonne âme pouvait m'aider ?
merci d'avance
didier
Bonjour et bienvenue chez nous,
Par exemple comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part UPDATE Table1 SET Table1.MaRef = Left(CStr([Ref]),Len(CStr([Ref]))-3) & "-" & CStr([Ref]);
bonjour et merci pour votre réponse.
en fait j'ai créé une requête pour créer un ".csv" dont les titres ne sont pas les mêmes que ma base de donnée.
ça fonctionne bien sauf cette colonne 'refperso' qui doit être en texte (avec un tiret) alors que le champ 'num encodage' (duquel je dois extraire les informations pour créer 'refperso') est un champ numérique.
j'aurais voulu connaître la formule qui fonctionne en créant une colonne dans ma requête (en mode création) qui me ferait ça.
donc je met refperso:[num encodage] qui me renvoie la valeur du champ num encodage, mais ça reste numérique et je n'arrive pas à trouver la formule pour faire afficher le résultat comme dans les exemples ci-dessus. (10654 -> 10-10654).
quand cela fonctionne, je copie tous les enregistrements de ma requête dans un fichier .csv et il est bon, je ne dois plus, comme maintenant faire toute une série d'opérations et concaténation dans le fichier .csv
j'avoue que je n'y connaît pas grand chose en programmation, mais je cherche des solutions que je trouve souvent, mais là ... j'ai trouvé la formule qui fonctionne mais uniquement si le champ 'num encodage' était en format texte (qui serait -> refperso:right([num encodage],3)&"-"&[num encogage].
tous mes essais avec la commande format se sont soldés par une réponse 'invalide'
c'est très difficile pour moi d'expliquer exactement ce que je voudrais, ne connaissant rien au code et autres languages de programmation.
le tout dernier point qui me pose encore soucis, ce serait d'obtenir un résultat avec un point décimal au lieu de la virgule décimale. j'ai réussi à obtenir le résultat désiré, mais les .csv renvoient des erreurs si c'est une virgule décimale (0,25 renvoie une valeur 0)
merci d'avance
bon dimanche
didier
re bonjour.
suis-je bête !!!! vous me l'avez donnée la formule et ça marche à merveille.
c'est très très fort ....
merci un max de fois.
oserais-je abuser pour le problème restant de point décimal au lieu de la virgule ?
merci encore
didier
Bonjour,
Quel est ton problème ?oserais-je abuser pour le problème restant de point décimal au lieu de la virgule ?
Où se trouve la valeur d'origine (celle avec la virgule) ?
Où faut-il inscrire le résultat (avec un point) ?
C'est sans doute en utilisant la fonction Replace() qu'on y arrivera
D'une manière générale, pour se documenter sur les propriétés d'un formulaire ou d'un état, ou de leurs contrôles :
- afficher l'objet en mode construction ;
- cliquer sur la propriété => elle se met en surbrillance ;
- enfoncer la touche <F1>
=> l'aide Access s'ouvre à la bonne page.
De même dans le code, placer le curseur de la souris et enfoncer F1.
On peut aussi :
• ouvrir l'aide <F1>, choisir l'onglet « Aide intuitive » et suivre les instructions ;
• ouvrir la fenêtre d'exécution (<Ctrl> + G), saisir un mot-clé, y placer le curseur de la souris et enfoncer F1.
bonjour,
j'ai un champ numérique [prix] - fixe - 2 décimales, par exemple 123,45 correspondant à un montant.
je dois y ajouter 0,10 (ça j'ai trouvé -|prix1:[prix]+0,10|)j'ai donc 123,55; mais en plus, pour le mettre correctement dans un fichier csv, il faut que la virgule devienne un point, donc qu'il renvoie 123.55
j'ai essayé avec la formule qui transforme le champ numérique en texte (que vous m'avez donnée avec brio) mais j'ai un problème du fait que ce montant peut être 1,25; 10,50; 120,30; 1250,25; où tout autre chiffre, toujours avec 2 décimales mais des unités, centaines, milliers, ... donc je ne sais pas lui demander de remplacer la virgule en point parce que je ne sais pas où elle se trouvera dans l'enregistrement.
dans les formats numériques, il n'y a pas de point décimal, c'est toujours une virgule.
peut-être avec la commande format mais j'ai déjà essayé plein de chose et toujours la réponse non valide.
je dois dire que ce n'est pas grave s'il n'y a pas de solution, dans le csv je sélectionne la colonne et je fais 'remplacer' , par . et ça va, mais tant qu'à faire si ça peut se faire tout seul ...
pour l'aide, j'ai déjà regardé sans succès, interrogé google. ça fait 3 jours que je suis là-dessus et vous me sortez la formule adéquate en 5 secondes, il y a de quoi être déprimé par mon incompétence ...
merci
didier
bonjour,
eurêka
fixedprice:str([prix]+0,10)
et ça fonctionne
je commence à comprendre un peu mieux l'ordre, les parenthèses et les crochets, en fait j'avais une erreur parce que je devais mettre tout ce qu'il y a derrière str entre parenthèse.
merci en tout cas pour votre gentillesse et compétence, sans vous, j'y serais encore
merci merci ...
didier
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager