FAQ MS-Access
FAQ MS-AccessConsultez toutes les FAQ
Nombre d'auteurs : 140, nombre de questions : 926, dernière mise à jour : 15 juin 2021
- Comment effacer tout le contenu d'une table ?
- Résultat de requête non modifiable ?
- Comment formuler une requête d'insertion avec des données décimales ?
- Pourquoi on n'arrive pas à supprimer un enregistrement d'une table ?
- Comment supprimer le champ d'une table en SQL ?
- Comment définir "null interdit" en SQL pour création/ajout de champ ?
- Comment effacer une table en VBA ?
- Comment créer un index sur un champ en SQL ?
Delete From NOMTABLE
Il est normal que vous ne puissiez pas modifier les requêtes contenant un Group By dans la mesure où les données affichées sont des opérations sur plusieurs lignes. Si vous modifiez une somme par exemple, comment cette modification peut-elle être répartie sur chacune des lignes ?
Votre requête d'insertion bogue car elle contient une valeur décimale.
Par exemple :
Insert Into ...
Values ...
"val1"
,19
,6
,"val3"
Dans ce cas, il y aura une erreur car la requête prendra la valeur 19,6 pour deux valeurs différentes séparées par une virgule.
Voici deux solutions pour résoudre le problème :
remplacez la virgule par un point grâce à la fonction Replace() ;
ou alors mettez la valeur numérique entre guillemets ("19,6")
Il faut vérifier dans les relations si suppression en cascade est cochée (Outils/Relations).
ATTENTION ! Ceci doit se faire sous réserve que cette suppression soit logique du point de vue de cette application (par exemple, il est généralement logique qu'on ne supprime pas un client qui a des factures dans la base).
Alter Table NOMTABLE
Drop Column NOMCHAMP
Alter Table MATABLE
Add MONCHAMP MonType NOT
NULL
Mettre uniquement NULL pour autoriser l'utilisation de la valeur NULL sur ce champ.
Voici la procédure qui permet d'effacer une table :
Sub
DeleteTable
(
ByVal
NomTable As
String
)
On
Error
Resume
Next
DoCmd.DeleteObject
acTable, NomTable
Err
.Clear
End
Sub
Il faut passer en paramètre le nom de la table à supprimer.
Lien : Comment effacer une requête en VBA ?
Lien : Comment effacer toutes les données de la base ?
Create Index IDX1 On
LATABLE
(
LECHAMP);