Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/05/2011, 22h59   #1
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
Par défaut modifier des enregistrement d'un champs si condition vrai

bonjour,
j'essaye de modifier les enregistrements d'un champs c'est-à-dire si le champs fais 10 caractères alors rajouter 3 zéro en plus !
pour cela j'ai essayer avec un mais je n'y arrive pas
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 23h14   #2
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 895
Points : 3 895
bonsoir myriame et bienvenu,

cf len()

vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 23h16   #3
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
Pourrais tu m'en dire davantage svp, car cela me reste flou !
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 23h24   #4
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 895
Points : 3 895
pour connaitre la longueur d'une chaine c'est la fonction len()
pour ce qui est d'obtenir ton résultat il y a plusieurs façon d'y arriver tout dépend de ton contexte et du choix que tu as pris.

poste le code que tu as déjà.
parce que pour moi,
Citation:
Envoyé par myriame
modifier les enregistrements d'un champs
il me parait plus logique de faire une requête de mise à jour plutôt que du vba.

vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 23h30   #5
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
Code :
1
2
3
4
'sql = "select Max(CHAR_length(TABLE.[CHAMPS1])) from TABLE;"
'If sql < 13 Then
'CurrentDb.Execute "REQUETE1"
'End If
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 23h40   #6
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 895
Points : 3 895
ta variable sql est une chaine de caractère pas un code qui te renvoie une valeur.

Code :
1
2
3
If dmax("len(leChamp)","laTable")< 13 Then
CurrentDb.Execute "REQUETE1"
End If
mais ce code conditionne l'exécution de "requete1" alors que la sql de requete1 peut s'en passer...

poste le sql de "requete1" à moins que celui ci ne te pose pas de problème.
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 00h06   #7
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
Code :
1
2
SELECT Mid([CHAMPS1],1,2) & "000" & Mid([CHAMPS1],3,8) AS [CHAMPS1]
FROM TABLE;
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 00h22   #8
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 895
Points : 3 895
Code :
CurrentDb.Execute ("update [latable] set [lechamp]=Mid([lechamp],1,2) & '000' & Mid([lechamp],3,8) where len([lechamp])<13")
je te laisse le soin de valider le format (mid...) et d'adapter si besoin.


ps: fait une sauvegarde de la table avant...
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 09h01   #9
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
merci beaucoup sa fo,ctionne très BIEN ! merci encore
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h30.


 
 
 
 
Partenaires

Hébergement Web