FAQ MS-Access

FAQ MS-AccessConsultez toutes les FAQ
Nombre d'auteurs : 140, nombre de questions : 926, dernière mise à jour : 15 juin 2021
Sommaire→Requêtes→Suppressions, modifications et insertions- 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 NOMTABLEIl 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 NOMCHAMPAlter Table MATABLE
Add MONCHAMP MonType NOT NULLMettre 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 SubIl 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);


