# ?
Fermé
Roldolphe
Messages postés
1
Date d'inscription
dimanche 13 septembre 2015
Statut
Membre
Dernière intervention
13 septembre 2015
-
13 sept. 2015 à 16:00
RODOLPHE - 5 oct. 2015 à 18:22
RODOLPHE - 5 oct. 2015 à 18:22
2 réponses
Bonjour,
Si ta table contient plus de 70000, il faut procéder très prudemment.
Aussi je te propose les étapes suivantes:
1) Créer une requête-sélection qui détermine un champ calculé retrouvant le champ initial.
Pour cela, créer 2 champs: Expr1 et Expr2
L'écriture des champs sera de la forme:
Expr1=IIf(InStr(1,[NomDuChamp],"#")>0,InStr(1,[NomDuChamp],"#")-1,0)
et
Expr2=Left([NomDuChamp],[Expr1])
Explication: expr1 détermine la position du caractère "#" dans la chaine des caractères du champ. Si le caractère est absent, la valeur de Expr1 est 0.
Puis expr2 extrait la chaine de caractères précédant le caractère "#"
Quand tu es sûr que la requête fonctionne bien, tu crées un champ supplémentaire à ta table (NomDuChamp2) et puis tu convertis la requête précédente en requête-mise à jour tel que : NomDuChamp2 = expr2
Et seulement quand tout est au point, tu supprimes le champ corrompu et tu renommes le nouveau champ avec le nom du champ corrompu supprimé.
Pour être encore plus prudent, tu peux travailler sur une copie de ta table, quitte à supprimer à la fin la table initiale, et renommer la table rétablie par la suite.
Bon courage.
Si ta table contient plus de 70000, il faut procéder très prudemment.
Aussi je te propose les étapes suivantes:
1) Créer une requête-sélection qui détermine un champ calculé retrouvant le champ initial.
Pour cela, créer 2 champs: Expr1 et Expr2
L'écriture des champs sera de la forme:
Expr1=IIf(InStr(1,[NomDuChamp],"#")>0,InStr(1,[NomDuChamp],"#")-1,0)
et
Expr2=Left([NomDuChamp],[Expr1])
Explication: expr1 détermine la position du caractère "#" dans la chaine des caractères du champ. Si le caractère est absent, la valeur de Expr1 est 0.
Puis expr2 extrait la chaine de caractères précédant le caractère "#"
Quand tu es sûr que la requête fonctionne bien, tu crées un champ supplémentaire à ta table (NomDuChamp2) et puis tu convertis la requête précédente en requête-mise à jour tel que : NomDuChamp2 = expr2
Et seulement quand tout est au point, tu supprimes le champ corrompu et tu renommes le nouveau champ avec le nom du champ corrompu supprimé.
Pour être encore plus prudent, tu peux travailler sur une copie de ta table, quitte à supprimer à la fin la table initiale, et renommer la table rétablie par la suite.
Bon courage.
Bonjour,
Pas de panique, il suffit de copier/coller les expressions que j'ai données dans une requête-sélection, et puis de remplacer les noms des champs génériques que j'ai mis par les vrais noms de ta table. Puis de lancer la requête, et de vérifier si elle fonctionne bien. Au moins pour la 1ère étape.
Pour le reste, je suis bien à Paris, mais aussi en pleine préparation d'un déménagement, alors je n'ai vraiment pas énormément de temps.
Bonne suite
Pas de panique, il suffit de copier/coller les expressions que j'ai données dans une requête-sélection, et puis de remplacer les noms des champs génériques que j'ai mis par les vrais noms de ta table. Puis de lancer la requête, et de vérifier si elle fonctionne bien. Au moins pour la 1ère étape.
Pour le reste, je suis bien à Paris, mais aussi en pleine préparation d'un déménagement, alors je n'ai vraiment pas énormément de temps.
Bonne suite
28 sept. 2015 à 11:49
merci à nouveau pour votre aide. Je suis malheureusement trop nul pour mettre en application la solution.
Mais par ailleurs je vois que dans votre pseudonyme figure le nombre 75;
Que signifie-t-il ? Votre poids, votre â
ge ? Si par hasard il se rapportait à votre localisation géographique peut-être pourrais-je venir vous rencontrer avec mon micro. N'importe où dans Paris. Par exemple un jour à 12:28 h. Je suppose qu'en 2 minutes cette situation serait résolue grace à vous. Nous prolongerions ensuite dans un bistrot voisin pour vous remercier. Cela vous semble t il possible. Bien cordialement
29 sept. 2015 à 11:23
Pouvez vous consulter ce que je me suis envoyé ?
Bine cordialment