A voir également:
- Docmd.runsql delete * from table
- Liste déroulante excel - Guide
- Si et excel - Guide
- Excel trier par ordre croissant chiffre - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
16 réponses
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
10 avril 2009 à 14:35
10 avril 2009 à 14:35
Bonjour Pietrius,
Si l'opération n'a pas vocation à être répétée, il y a une méthode manuelle plutôt simple :
1/ Faire une sauvegarde auparavant pour le cas où ....
- Créer dans la table ACCESS les 2 champs manquants puis réduire la fenêtre ACCESS.
- Faire un copier de la colonne Excel A (Sélection en cliquant dans l'en-tête de colonne)
- Mettre ACCESS en plein écran
- Activer la 1 ère colonne créée (En activant l'en-tête/nom par un clic)
- Puis Clic droit/coller
- Répéter la manip pour la 2 éme colonne
Cordialement
Si l'opération n'a pas vocation à être répétée, il y a une méthode manuelle plutôt simple :
1/ Faire une sauvegarde auparavant pour le cas où ....
- Créer dans la table ACCESS les 2 champs manquants puis réduire la fenêtre ACCESS.
- Faire un copier de la colonne Excel A (Sélection en cliquant dans l'en-tête de colonne)
- Mettre ACCESS en plein écran
- Activer la 1 ère colonne créée (En activant l'en-tête/nom par un clic)
- Puis Clic droit/coller
- Répéter la manip pour la 2 éme colonne
Cordialement
Merci pour votre réponse Jean-Jacques
En fait c'est une opération qui sera répétée regulièrement sur un grd nombre de données.
L'idéal serait une macro VBA qui me fasse le rechercheV en allant chercher l'info complémentaire dans la feuille excel
ou si c'est plus facile, une macro qui importe et une deuxième qui fait un rechercheV en allant chercher les infos dans la table importée.
PS: ci dessous un petit exemple de ce que je veux faire.
sous access j'ai une colonne A qui doit me servir d'argument pour le rechercheV() et d'autres colonnes d'information :
col A col B et d'autres colonnes
001 (vide)
002 (vide)
003 ....
004
...
sous Excel j'ai:
col A col B
001 x
003 y
004 y
008 z
0015 x
...
et comme résultat je cherche à faire qq chose sous Access du type:
col A col B ....et d'autres colonnes
001 x
002 (vide)
003 y
004 y
005 (vide)
006 (vide)
007 (vide)
008 z
...
En fait c'est une opération qui sera répétée regulièrement sur un grd nombre de données.
L'idéal serait une macro VBA qui me fasse le rechercheV en allant chercher l'info complémentaire dans la feuille excel
ou si c'est plus facile, une macro qui importe et une deuxième qui fait un rechercheV en allant chercher les infos dans la table importée.
PS: ci dessous un petit exemple de ce que je veux faire.
sous access j'ai une colonne A qui doit me servir d'argument pour le rechercheV() et d'autres colonnes d'information :
col A col B et d'autres colonnes
001 (vide)
002 (vide)
003 ....
004
...
sous Excel j'ai:
col A col B
001 x
003 y
004 y
008 z
0015 x
...
et comme résultat je cherche à faire qq chose sous Access du type:
col A col B ....et d'autres colonnes
001 x
002 (vide)
003 y
004 y
005 (vide)
006 (vide)
007 (vide)
008 z
...
Merci pour votre réponse Jean-Jacques
En fait c'est une opération qui sera répétée regulièrement sur un grd nombre de données.
L'idéal serait une macro VBA qui me fasse le rechercheV en allant chercher l'info complémentaire dans la feuille excel
ou si c'est plus facile, une macro qui importe et une deuxième qui fait un rechercheV en allant chercher les infos dans la table importée.
PS: ci dessous un petit exemple de ce que je veux faire.
sous access j'ai une colonne A qui doit me servir d'argument pour le rechercheV() et d'autres colonnes d'information :
col A col B et d'autres colonnes
001 (vide)
002 (vide)
003 ....
004
...
sous Excel j'ai:
col A col B
001 x
003 y
004 y
008 z
0015 x
...
et comme résultat je cherche à faire qq chose sous Access du type:
col A col B ....et d'autres colonnes
001 x
002 (vide)
003 y
004 y
005 (vide)
006 (vide)
007 (vide)
008 z
...
En fait c'est une opération qui sera répétée regulièrement sur un grd nombre de données.
L'idéal serait une macro VBA qui me fasse le rechercheV en allant chercher l'info complémentaire dans la feuille excel
ou si c'est plus facile, une macro qui importe et une deuxième qui fait un rechercheV en allant chercher les infos dans la table importée.
PS: ci dessous un petit exemple de ce que je veux faire.
sous access j'ai une colonne A qui doit me servir d'argument pour le rechercheV() et d'autres colonnes d'information :
col A col B et d'autres colonnes
001 (vide)
002 (vide)
003 ....
004
...
sous Excel j'ai:
col A col B
001 x
003 y
004 y
008 z
0015 x
...
et comme résultat je cherche à faire qq chose sous Access du type:
col A col B ....et d'autres colonnes
001 x
002 (vide)
003 y
004 y
005 (vide)
006 (vide)
007 (vide)
008 z
...
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
10 avril 2009 à 16:16
10 avril 2009 à 16:16
Pietrius,
Si la base de données ACCESS et le fichier Excel sont sur le même serveur/ordinateur, il serait bien plus simple d'utiliser le fichier EXCEL comme table attachée. Est-ce le cas ?
L'avantage : La base ACCESS est alors mise à jour dynamiquement. C.à.d. : toute modification dans Excel est aussitôt connue dans la base ACCESS liée.
A+
Si la base de données ACCESS et le fichier Excel sont sur le même serveur/ordinateur, il serait bien plus simple d'utiliser le fichier EXCEL comme table attachée. Est-ce le cas ?
L'avantage : La base ACCESS est alors mise à jour dynamiquement. C.à.d. : toute modification dans Excel est aussitôt connue dans la base ACCESS liée.
A+
s'lut , j'ai un problème av la procedure archive , c-a-d je veux couper les donneés d'une table et les coller dans une autre , mais chaque fois que je clic sur mon bouton archiver qui exécute cette procédure un message de débloquage s'affiche signalant l'erreur sur le code Movefirst, voir la procedure que j'ai effectué
Dim enr As Recordset
Set enr = CurrentDb.OpenRecordset("T_saisie")
Set TabArch = CurrentDb.OpenRecordset("T_Archive_operation", dbOpenDynaset)
TabArch.MoveLast
TabArch.AddNew
TabArch![site_theorique] = Forms("form_Interface_gestion_des_optimisations").[site théorique].Value
TabArch![Type_d_operation_ utilisateur] = Me.[Type d'opération utilisateur].Value
TabArch![Poin_d_entree_BRA_futur] = Me.[Point d'entrée BRA futur].Value
TabArch![XC] = Me.XC.Value
TabArch![GCR] = Me.GCR.Value
TabArch![Semaine_de_planification] = Me.[Semaine de planification].Value
TabArch![Nbres_de_Planification] = Me.[Nbres de Planification].Value
TabArch![DRU] = Me.DRU.Value
TabArch![Date DRU] = Me.[Date DRU].Value
TabArch![Gaston] = Me.Gaston.Value
TabArch![Date_Gaston] = Me.[Date Gaston].Value
TabArch![Num_demande_Gaston] = Me.[Num_demande_Gaston].Value
TabArch![Memo_CPT] = Me.[Memo CPT].Value
TabArch![Date_Memo_CPT] = Me.[Date Memo CPT].Value
TabArch![BCM] = Me.BCM.Value
TabArch![Date_BCM] = Me.[Date BCM].Value
TabArch![Liberation_IP] = Me.[Liberation @IP].Value
TabArch![MAJ_Ping] = Me.[MAJ Ping].Value
TabArch![Commentaires] = Me.Commentaires.Value
TabArch![RNC_ actuel] = Me.[RNC actuel].Value
TabArch![RNC_ futur] = Me.[RNC futur].Value
TabArch![Nbres_de_Mic] = Me.[Nbres de Mic].Value
TabArch![déjarretiérage] = Me.[déjarretiérage].Value
TabArch![Programme_upgrade] = Me.[Programme_upgrade].Value
'Mise à jour et fermeture de la table T_archive
TabArch.Update
TabArch.Close
Set TabArch = Nothing
'supprime l'enregistrement en cours dans la table T_saisi
enr.Delete
Set enr = Nothing
enr.Movefirst
End Sub
Dim enr As Recordset
Set enr = CurrentDb.OpenRecordset("T_saisie")
Set TabArch = CurrentDb.OpenRecordset("T_Archive_operation", dbOpenDynaset)
TabArch.MoveLast
TabArch.AddNew
TabArch![site_theorique] = Forms("form_Interface_gestion_des_optimisations").[site théorique].Value
TabArch![Type_d_operation_ utilisateur] = Me.[Type d'opération utilisateur].Value
TabArch![Poin_d_entree_BRA_futur] = Me.[Point d'entrée BRA futur].Value
TabArch![XC] = Me.XC.Value
TabArch![GCR] = Me.GCR.Value
TabArch![Semaine_de_planification] = Me.[Semaine de planification].Value
TabArch![Nbres_de_Planification] = Me.[Nbres de Planification].Value
TabArch![DRU] = Me.DRU.Value
TabArch![Date DRU] = Me.[Date DRU].Value
TabArch![Gaston] = Me.Gaston.Value
TabArch![Date_Gaston] = Me.[Date Gaston].Value
TabArch![Num_demande_Gaston] = Me.[Num_demande_Gaston].Value
TabArch![Memo_CPT] = Me.[Memo CPT].Value
TabArch![Date_Memo_CPT] = Me.[Date Memo CPT].Value
TabArch![BCM] = Me.BCM.Value
TabArch![Date_BCM] = Me.[Date BCM].Value
TabArch![Liberation_IP] = Me.[Liberation @IP].Value
TabArch![MAJ_Ping] = Me.[MAJ Ping].Value
TabArch![Commentaires] = Me.Commentaires.Value
TabArch![RNC_ actuel] = Me.[RNC actuel].Value
TabArch![RNC_ futur] = Me.[RNC futur].Value
TabArch![Nbres_de_Mic] = Me.[Nbres de Mic].Value
TabArch![déjarretiérage] = Me.[déjarretiérage].Value
TabArch![Programme_upgrade] = Me.[Programme_upgrade].Value
'Mise à jour et fermeture de la table T_archive
TabArch.Update
TabArch.Close
Set TabArch = Nothing
'supprime l'enregistrement en cours dans la table T_saisi
enr.Delete
Set enr = Nothing
enr.Movefirst
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
OUi les deux fichiers sont sur le meme ordinateur.
Le fichier excel est mis a jour regulièrement et à chaque fois il faut completer la table Access avec les informations du fichier Excel
Que voulez vous dire par "table attaché" ?
Cela reveindrai a automatiquement mettre a jour une table sous ACCESS correpondant au fichier Excel ?
Mais ensuite comment faire un rechercheV entre les deux tables pour completer la premiere ?
Merci encore
Le fichier excel est mis a jour regulièrement et à chaque fois il faut completer la table Access avec les informations du fichier Excel
Que voulez vous dire par "table attaché" ?
Cela reveindrai a automatiquement mettre a jour une table sous ACCESS correpondant au fichier Excel ?
Mais ensuite comment faire un rechercheV entre les deux tables pour completer la premiere ?
Merci encore
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
10 avril 2009 à 16:50
10 avril 2009 à 16:50
Pietrius,
C'est de bon augure, mais il y a une contrainte incontournable.
Il faut que la table ACCESS et le fichier EXCEL aient un champ commun.
C.à.d. : "N° de commande" par exemple.
Si cest bon faire : Fichier/Données externes/lier les tables ..... ensuite c'est en pas à pas assez bien fait ..
A+
C'est de bon augure, mais il y a une contrainte incontournable.
Il faut que la table ACCESS et le fichier EXCEL aient un champ commun.
C.à.d. : "N° de commande" par exemple.
Si cest bon faire : Fichier/Données externes/lier les tables ..... ensuite c'est en pas à pas assez bien fait ..
A+
Bonjour Jean Jacque
je travaille toujours sur le meme projet et la je tente de le faire par une macro en automation
j'ai le bout de code suivant:
***********************
Private Sub Commande0_Click()
Dim oApp As Excel.Application
Dim oWkb As Excel.Workbook
Dim oWSht As Excel.Worksheet
Set oApp = CreateObject("excel.application")
Set oWkb = oApp.Workbooks.Open("C:\Interventions\création.xls")
Set oWSht = oWkb.Worksheets("Tableau réseau BPS")
'premier ligne ou tu commence ton import
i = 2
'pour éviter les messages lors de l'ajout des enregistrements
DoCmd.SetWarnings False
'tant que la cellule n'est pas vide
While oWSht.Range("A" & i).Value <> ""
cSQL = "insert into [Nom de ta table] ( [NOM du champ de ta table] ) values (" &
Chr (34) & oWSht.Cells(i, 1) & Chr(34) & ")"
'exécute la requète
DoCmd.RunSQL cSQL
i = i + 1
Wend
DoCmd.SetWarnings True
End Sub
**********************
Mais qd je l'execute il me sort une erreur : type non defini par l'utilisateur
sais tu d'ou peut provenir cette erreur ?
je travaille toujours sur le meme projet et la je tente de le faire par une macro en automation
j'ai le bout de code suivant:
***********************
Private Sub Commande0_Click()
Dim oApp As Excel.Application
Dim oWkb As Excel.Workbook
Dim oWSht As Excel.Worksheet
Set oApp = CreateObject("excel.application")
Set oWkb = oApp.Workbooks.Open("C:\Interventions\création.xls")
Set oWSht = oWkb.Worksheets("Tableau réseau BPS")
'premier ligne ou tu commence ton import
i = 2
'pour éviter les messages lors de l'ajout des enregistrements
DoCmd.SetWarnings False
'tant que la cellule n'est pas vide
While oWSht.Range("A" & i).Value <> ""
cSQL = "insert into [Nom de ta table] ( [NOM du champ de ta table] ) values (" &
Chr (34) & oWSht.Cells(i, 1) & Chr(34) & ")"
'exécute la requète
DoCmd.RunSQL cSQL
i = i + 1
Wend
DoCmd.SetWarnings True
End Sub
**********************
Mais qd je l'execute il me sort une erreur : type non defini par l'utilisateur
sais tu d'ou peut provenir cette erreur ?
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
17 avril 2009 à 17:51
17 avril 2009 à 17:51
Pietrus,
Je ne suis pas suffisamment expérimenté pour pouvoir vous aider
sur un point aussi spécifique .....
Un spécialiste ne devrait pas tarder à se manifester ....sur CCM on attend rarement en vain.
Toutefois, il est étrange que nom de la table soit <nom de la table> et nom du champ <Nom du champ de la table> ?????
Votre code ---> [Nom de ta table] ( [NOM du champ de ta table]
Cordialement
Je ne suis pas suffisamment expérimenté pour pouvoir vous aider
sur un point aussi spécifique .....
Un spécialiste ne devrait pas tarder à se manifester ....sur CCM on attend rarement en vain.
Toutefois, il est étrange que nom de la table soit <nom de la table> et nom du champ <Nom du champ de la table> ?????
Votre code ---> [Nom de ta table] ( [NOM du champ de ta table]
Cordialement
Bonjour Jean_jacques
Encore uen fois merci pour tes réponses rapides
Le bout de code copié ci dessous est un code type et il faut remplacer les champs Nom de Table par le nom de la table destination...etc
j'ai finalement reussi a faire fonctionner ma macro
Sais tu comment l'accrocher a un bouton sur un formulaire Access ?
etrangement je ne dois pas avoir la bonne demarche alors que je le fais regulierement sur Excel
Merci d'avance
Encore uen fois merci pour tes réponses rapides
Le bout de code copié ci dessous est un code type et il faut remplacer les champs Nom de Table par le nom de la table destination...etc
j'ai finalement reussi a faire fonctionner ma macro
Sais tu comment l'accrocher a un bouton sur un formulaire Access ?
etrangement je ne dois pas avoir la bonne demarche alors que je le fais regulierement sur Excel
Merci d'avance
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
20 avril 2009 à 11:25
20 avril 2009 à 11:25
Bonjour Pietrus,
NB : En accès on dit une procédure quand on utilise le code.
Pour créer la procédure événementielle sur clic, suivre la démarche suivante :
Ouvrir le formulaire qui contient le bouton
Se mettre en mode création
Sélectionner le bouton
Activer l'onglet Évènements
Se positionner sur la ligne sur clic
Grâce au petit bouton avec 3 petits points en bout de ligne, choisir procédure évènementielle
L'affichage suivant apparaît :
Private ... machin chose (début de procédure)
Saisir le code Ici ..... entre private et en end sub
En sub (Fin de procédure)
Fermer enregistrer et essayer
Bonne journée
NB : En accès on dit une procédure quand on utilise le code.
Pour créer la procédure événementielle sur clic, suivre la démarche suivante :
Ouvrir le formulaire qui contient le bouton
Se mettre en mode création
Sélectionner le bouton
Activer l'onglet Évènements
Se positionner sur la ligne sur clic
Grâce au petit bouton avec 3 petits points en bout de ligne, choisir procédure évènementielle
L'affichage suivant apparaît :
Private ... machin chose (début de procédure)
Saisir le code Ici ..... entre private et en end sub
En sub (Fin de procédure)
Fermer enregistrer et essayer
Bonne journée
Merci Jean Jacques
tout marche maintenant.
Petite question complementaire:
je ne trouve pas sur le forum le code pour supprimer un enregistrement d'une table access
je voudrai rajouter dans mon code une petite fonction avec des conditions IF qui supprimerait certains des enregistrements.
Merci d'avance
tout marche maintenant.
Petite question complementaire:
je ne trouve pas sur le forum le code pour supprimer un enregistrement d'une table access
je voudrai rajouter dans mon code une petite fonction avec des conditions IF qui supprimerait certains des enregistrements.
Merci d'avance
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
21 avril 2009 à 15:50
21 avril 2009 à 15:50
Bonjour Pietrus,
Attention danger
1 - En premier lieu, ne pas négliger de prendre des précautions. Faire des sauvegardes régulières, etc.
2 - A titre d'exemple, voici une syntaxe SQL qui permet de supprimer les enregistrements "âgés de plus d'un an"
- [La valeur contenue dans le [champ_date] est comparée à la valeur de la date en cours (now).
- Si l'écart (exprimé en nombre de jours) est supérieur à 365, les enregistrements concernés sont supprimés.
DoCmd.RunSQL "DELETE all FROM [<Table>] WHERE (((DateDiff('d',[<Champ_date>],Now()))>365));"
Cordialement
Attention danger
1 - En premier lieu, ne pas négliger de prendre des précautions. Faire des sauvegardes régulières, etc.
2 - A titre d'exemple, voici une syntaxe SQL qui permet de supprimer les enregistrements "âgés de plus d'un an"
- [La valeur contenue dans le [champ_date] est comparée à la valeur de la date en cours (now).
- Si l'écart (exprimé en nombre de jours) est supérieur à 365, les enregistrements concernés sont supprimés.
DoCmd.RunSQL "DELETE all FROM [<Table>] WHERE (((DateDiff('d',[<Champ_date>],Now()))>365));"
Cordialement
Merci Jean-jacques,
Cette commande marche bien
j'arrive effectivement a supprimer des enregistrements
Cependant je dois supprimer selon une condition un peu plus complexe
mes données dans ma table sont sous la forme:
colA colB
x 11
x 22
x 33
y 22
b 11
b 33
...
j'aimerai rajouter une fction qui me fasse un tri du type:
si on a (x ; 11) ,( x ; 22)et (x ; 33) (comme ci dessus) je veux lui dire de ne laisser que la ligne (x ; 11). car 11>22 et 11>33 par exemple.
En gros il me faudrait une boucle for poru parcourir toute ma table
et a chaque ligne jobserve:
Si la données colA de la logne i+1 est identique
Si c'est le cas alors si ds col B on a 11 à i et 22 à i+1 => on conserve celui avec 11 donc on supprime la ligne i+1
etc etc
j'ai 4 types d'information dans col B
classé ds un ordre du type 11>22>33>44
une idée ??
Cette commande marche bien
j'arrive effectivement a supprimer des enregistrements
Cependant je dois supprimer selon une condition un peu plus complexe
mes données dans ma table sont sous la forme:
colA colB
x 11
x 22
x 33
y 22
b 11
b 33
...
j'aimerai rajouter une fction qui me fasse un tri du type:
si on a (x ; 11) ,( x ; 22)et (x ; 33) (comme ci dessus) je veux lui dire de ne laisser que la ligne (x ; 11). car 11>22 et 11>33 par exemple.
En gros il me faudrait une boucle for poru parcourir toute ma table
et a chaque ligne jobserve:
Si la données colA de la logne i+1 est identique
Si c'est le cas alors si ds col B on a 11 à i et 22 à i+1 => on conserve celui avec 11 donc on supprime la ligne i+1
etc etc
j'ai 4 types d'information dans col B
classé ds un ordre du type 11>22>33>44
une idée ??
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
21 avril 2009 à 18:21
21 avril 2009 à 18:21
Bonsoir Pietrus,
Il est inutile de balayer chaque enregistrement de la table pour supprimer des enregistrement.
Chaque condition IF s'applique à l'ensembe de la table
Dans ton cas il faut faire quelque chose comme :
If <Nom=Champ_1> = 1 And <Nom=Champ_2> = "< >" Then
Voilà un exemple de squelette de condition IF
A toi de jouer pour l'adapter
If <Nom=Champ> = 1 And ((PrixUnitaire * Quantité) / 100 * 0.7) < 9.9 Then
Action SQL
End If
ElseIf <Nom=Champ> = 2 And ((PrixUnitaire * Quantité) / 100 * 0.7) < 9.9 Then
Action SQL
End If
ElseIf <Nom=Champ> = 1 And ((PrixUnitaire * Quantité) / 100 * 0.7) >= 9.9 Then
Action SQL
End If
ElseIf <Nom=Champ> = 2 And ((PrixUnitaire * Quantité) / 100 * 0.7) > 9.9 Then
Action SQL
End If
End If
Bonne soirée
Il est inutile de balayer chaque enregistrement de la table pour supprimer des enregistrement.
Chaque condition IF s'applique à l'ensembe de la table
Dans ton cas il faut faire quelque chose comme :
If <Nom=Champ_1> = 1 And <Nom=Champ_2> = "< >" Then
Voilà un exemple de squelette de condition IF
A toi de jouer pour l'adapter
If <Nom=Champ> = 1 And ((PrixUnitaire * Quantité) / 100 * 0.7) < 9.9 Then
Action SQL
End If
ElseIf <Nom=Champ> = 2 And ((PrixUnitaire * Quantité) / 100 * 0.7) < 9.9 Then
Action SQL
End If
ElseIf <Nom=Champ> = 1 And ((PrixUnitaire * Quantité) / 100 * 0.7) >= 9.9 Then
Action SQL
End If
ElseIf <Nom=Champ> = 2 And ((PrixUnitaire * Quantité) / 100 * 0.7) > 9.9 Then
Action SQL
End If
End If
Bonne soirée
Bonjour Jean-Jacques
Et merci pour ton aide précieuse
Cependant je ne suis pas sur de comprendre comment utiliser ton code type
Comment interpreter cette ligne ?:
que represente Nom=Champ_1 ? et le ="<>" ?
Ces questions doivent surement paraitre naive mais bon ca donne idée de mon niveau Access .
lol
Merci d'avance
Pour plus de précision sur mon code:
dans ma tablecible j'ai :
du numerique en colonne A et du texte en colonne B
soit un enregistrement a nimporte quel ligne si on trouve un autre enregistrement avec la meme
informartion en colonne A alors on doit supprimer un des deux enregistrements en fonction de le colonne B.
En fait j'ai du mal a visualiser comment lui dire d'aller chercher un autre enregistrement a une autre ligne.
comment lui dire de chercher ailleurs ?
j'ai du mal a etre clair.dsl
merci d'avance pour ton aide
Bonne journée
Et merci pour ton aide précieuse
Cependant je ne suis pas sur de comprendre comment utiliser ton code type
Comment interpreter cette ligne ?:
If <Nom=Champ_1> = 1 And <Nom=Champ_2> = "< >" Then
que represente Nom=Champ_1 ? et le ="<>" ?
Ces questions doivent surement paraitre naive mais bon ca donne idée de mon niveau Access .
lol
Merci d'avance
Pour plus de précision sur mon code:
dans ma tablecible j'ai :
du numerique en colonne A et du texte en colonne B
soit un enregistrement a nimporte quel ligne si on trouve un autre enregistrement avec la meme
informartion en colonne A alors on doit supprimer un des deux enregistrements en fonction de le colonne B.
En fait j'ai du mal a visualiser comment lui dire d'aller chercher un autre enregistrement a une autre ligne.
comment lui dire de chercher ailleurs ?
j'ai du mal a etre clair.dsl
merci d'avance pour ton aide
Bonne journée
Bonjour Jean Jacques
Et merci pour ton aide
Cependant je ne suis pas sur de comprendre comment utiliser ton code type
Comment interpreter cette ligne ?:
que represente Nom=Champ_1 ? et le ="<>" ?
Ces questions doivent surement paraitre naive mais bon ca donne idée de mon niveau Access .
lol
Merci d'avance
Pour plus de précision sur mon code:
dans ma tablecible j'ai :
du numerique en colonne A et du texte en colonne B
soit un enregistrement a nimporte quel ligne si on trouve un autre enregistrement avec la meme
informartion en colonne A alors on doit supprimer un des deux enregistrements en fonction de le colonne B.
En fait j'ai du mal a visualiser comment lui dire d'aller chercher un autre enregistrement a une autre ligne.
comment lui dire de chercher ailleurs ?
j'ai du mal a etre clair.dsl
merci d'avance pour ton aide
Bonne journée
Et merci pour ton aide
Cependant je ne suis pas sur de comprendre comment utiliser ton code type
Comment interpreter cette ligne ?:
If <Nom=Champ_1> = 1 And <Nom=Champ_2> = "< >" Then
que represente Nom=Champ_1 ? et le ="<>" ?
Ces questions doivent surement paraitre naive mais bon ca donne idée de mon niveau Access .
lol
Merci d'avance
Pour plus de précision sur mon code:
dans ma tablecible j'ai :
du numerique en colonne A et du texte en colonne B
soit un enregistrement a nimporte quel ligne si on trouve un autre enregistrement avec la meme
informartion en colonne A alors on doit supprimer un des deux enregistrements en fonction de le colonne B.
En fait j'ai du mal a visualiser comment lui dire d'aller chercher un autre enregistrement a une autre ligne.
comment lui dire de chercher ailleurs ?
j'ai du mal a etre clair.dsl
merci d'avance pour ton aide
Bonne journée
Bonjour Jean Jacques
Et merci pour ton aide
Cependant je ne suis pas sur de comprendre comment utiliser ton code type
Comment interpreter cette ligne ?:
que represente Nom=Champ_1 ? et le ="<>" ?
Ces questions doivent surement paraitre naive mais bon ca donne idée de mon niveau Access .
lol
Merci d'avance
Pour plus de précision sur mon code:
dans ma tablecible j'ai :
du numerique en colonne A et du texte en colonne B
soit un enregistrement a nimporte quel ligne si on trouve un autre enregistrement avec la meme
informartion en colonne A alors on doit supprimer un des deux enregistrements en fonction de le colonne B.
En fait j'ai du mal a visualiser comment lui dire d'aller chercher un autre enregistrement a une autre ligne.
comment lui dire de chercher ailleurs ?
j'ai du mal a etre clair.dsl
merci d'avance pour ton aide
Bonne journée
Et merci pour ton aide
Cependant je ne suis pas sur de comprendre comment utiliser ton code type
Comment interpreter cette ligne ?:
If <Nom=Champ_1> = 1 And <Nom=Champ_2> = "< >" Then
que represente Nom=Champ_1 ? et le ="<>" ?
Ces questions doivent surement paraitre naive mais bon ca donne idée de mon niveau Access .
lol
Merci d'avance
Pour plus de précision sur mon code:
dans ma tablecible j'ai :
du numerique en colonne A et du texte en colonne B
soit un enregistrement a nimporte quel ligne si on trouve un autre enregistrement avec la meme
informartion en colonne A alors on doit supprimer un des deux enregistrements en fonction de le colonne B.
En fait j'ai du mal a visualiser comment lui dire d'aller chercher un autre enregistrement a une autre ligne.
comment lui dire de chercher ailleurs ?
j'ai du mal a etre clair.dsl
merci d'avance pour ton aide
Bonne journée
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
22 avril 2009 à 09:49
22 avril 2009 à 09:49
Bonjour Pietrus,
L'exemple donné n'a rien à voir avec ton cas.
If <Nom_Champ_1> = 1 And <Nom_Champ_2> = "< >" Then
....
endif
Mon but :
Montrer que la condition peut être activée sur une valeur numérique aussi bien que sur la valeur d'une chaîne de caractère.
NB : Voir aussi SKIP pour comparer des lignes
Bonne journée
L'exemple donné n'a rien à voir avec ton cas.
If <Nom_Champ_1> = 1 And <Nom_Champ_2> = "< >" Then
....
endif
Mon but :
Montrer que la condition peut être activée sur une valeur numérique aussi bien que sur la valeur d'une chaîne de caractère.
NB : Voir aussi SKIP pour comparer des lignes
Bonne journée
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
22 avril 2009 à 10:23
22 avril 2009 à 10:23
Pietrus,
Mea culpa, j'ai été négligent dans la lecture de ta description. Il faut bien un balayage de la base associé avec une boucle comprenant des if . Il est vrai que ta démarche est insolite ..
Et il faut bien dire que j'ai franchi mon seuil de compétence. Je n'arrive plus à suivre.
Je te suggère de compulser le site de référence : https://vb.developpez.com/telecharger/index/categorie/353/Codes-sources-VB-VBS
- Tout de même, je verrais bien quelque chose de ce genre :
While IsnotNull(Me![<Nom_champ>])
IF ... then
then
skip
end if
Wend
Mea culpa, j'ai été négligent dans la lecture de ta description. Il faut bien un balayage de la base associé avec une boucle comprenant des if . Il est vrai que ta démarche est insolite ..
Et il faut bien dire que j'ai franchi mon seuil de compétence. Je n'arrive plus à suivre.
Je te suggère de compulser le site de référence : https://vb.developpez.com/telecharger/index/categorie/353/Codes-sources-VB-VBS
- Tout de même, je verrais bien quelque chose de ce genre :
While IsnotNull(Me![<Nom_champ>])
IF ... then
then
skip
end if
Wend
Beaucoup de mal a m'en sortir avec cette fonction
bref j'en viens au point ou je me dis qu'il faut avt tt que je presente rapidement un programme qui fonctionne
Ainsi j'ai une autre question:
sais tu si je peux faire ce que je souhaite (mon tri sur mon tableau avec la suppression de certaines lignes) peut-etre plus facilement sans passer par VBA ???
Je ne maitrise pas vraiment access
Merci d'avance
p-e faire une requete pour créer une nouvelle table...
bref j'en viens au point ou je me dis qu'il faut avt tt que je presente rapidement un programme qui fonctionne
Ainsi j'ai une autre question:
sais tu si je peux faire ce que je souhaite (mon tri sur mon tableau avec la suppression de certaines lignes) peut-etre plus facilement sans passer par VBA ???
Je ne maitrise pas vraiment access
Merci d'avance
p-e faire une requete pour créer une nouvelle table...
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
22 avril 2009 à 16:08
22 avril 2009 à 16:08
Pietrus,
Désolé, je ne sais pas faire. Surtout à distance et sans voir l'écran.
L'idéal serait d'avoir un analyste sous la main. Quelqu'un capable de faire
le cahier des charges de tes besoins, de les décrire et de déceler les incohérences et
contradiction éventuelles.
Avec une bonne analyse de la structure le travail de codage est énormément facilité.
Concrètement, je te suggère de découper ton travail en étapes successives.
De cette manière tu progresserais tout en faisant avancer ton projet, tout
en faisant valoir des améliorations.
A+
Désolé, je ne sais pas faire. Surtout à distance et sans voir l'écran.
L'idéal serait d'avoir un analyste sous la main. Quelqu'un capable de faire
le cahier des charges de tes besoins, de les décrire et de déceler les incohérences et
contradiction éventuelles.
Avec une bonne analyse de la structure le travail de codage est énormément facilité.
Concrètement, je te suggère de découper ton travail en étapes successives.
De cette manière tu progresserais tout en faisant avancer ton projet, tout
en faisant valoir des améliorations.
A+