| auteur : Team Access |
Parfois, vous avez besoin d'exécuter une succession de requêtes de mise à jour.
Une transaction permet, lorsqu'elle est ouverte, de lancer ces requêtes une-à-une et de valider ou annuler le résultat à la fin.
Imaginez, qu'une requête échoue au milieu de la transaction, il ne faut pas que les modifications apportées par les autres requêtes soient enregistrées,
au risque de corrompre l'ensemble des données. Vous devez donc annuler la transaction (rollback). En revanche, si tout s'est bien passé, vous pouvez la valider (commit).
|
| auteur : Frank | Ton problème est que tu dois avoir une erreur dans un de tes modules.
Ouvres tes modules un à un puis compile les.
Attention également aux erreurs dues au mélange de versions des formats de base de données. Ainsi, par exemple, bien que Access 2002 sache travailler nativement avec des fichiers MDB au format Access 2000, il ne peut convertir en MDE que les fichiers MDB 2002......
|
| auteur : Team Access | Il faut se logger en tant qu'utilisateur : pour chaque mot de passe que vous voulez changer, vous devez vous logger avec le login de l'utilisateur et son mot de passe. Ensuite vous changez le mot de passe (outils/sécurité/gestion.../changer le mot de passe en vérifiant que ce soit le bon
utilisateur).
|
| auteur : Team Access | Private Sub Callproc_Click ()
Dim cnn1 As ADODB. Connection
Dim cmdExeproc As ADODB. Command
Set cnn1 = New ADODB. Connection
strCnn = " DSN=W805; UID=LeLogin; PWD=LeMotDePasse; "
cnn1. Open strCnn
Set cmdExeproc = New ADODB. Command
cmdExeproc. ActiveConnection = cnn1
cmdExeproc. CommandText = " {call odbpack.proc(?,?,?)} "
cmdExeproc. Parameters (0 ). Value = 1
cmdExeproc. Parameters (1 ). Direction = adParamInputOutput
cmdExeproc. Parameters (1 ). Value = 2
cmdExeproc. Parameters (2 ). Direction = adParamOutput
cmdExeproc. Execute
MsgBox (" Return Values from Proc are : " & _
cmdExeproc. Parameters (1 ). Value & _
" and " & _
cmdExeproc. Parameters (2 ). Value )
Set cmdExeproc = New ADODB. Command
cmdExeproc. ActiveConnection = cnn1
cmdExeproc. CommandText = " {? = call odbpack.func(?,?,?)} "
cmdExeproc. Parameters (0 ). Direction = adParamReturnValue
cmdExeproc. Parameters (1 ). Value = " Odd "
cmdExeproc. Parameters (2 ). Direction = adParamInputOutput
cmdExeproc. Parameters (2 ). Value = " Fred "
cmdExeproc. Parameters (3 ). Direction = adParamOutput
cmdExeproc. Execute
MsgBox (" Return Values from Func are : " & _
cmdExeproc. Parameters (0 ). Value & _
" and " & _
cmdExeproc. Parameters (2 ). Value & _
" and " & _
cmdExeproc. Parameters (3 ). Value )
cnn1. Close
End Sub
|
|
| auteur : Bidou | 1/ Une solution 'manuelle' :
Menu Outils/Utilitaires de bases de données/Compacter une base de données.
2/ Une solution 'automatique' (à partir de MS Access 2000) :
Menu Outils/Options, Onglet 'Général', cocher 'Compacter lors de la fermeture'.
3/Une solution par code :
Sub cmdCompacter_Click ()
sNomBase= " C:\Mes documents\Base.MDB "
sNomBaseTmp= " C:\Mes documents\BaseTmp.MDB "
DBEngine. CompactDatabase sNomBase, sNomBaseTmp
Kill sNomBase
Name sNomBaseTmp As sNomBase
End Sub
|
Remarque : Cette dernière solution ne vous permet pas de compacter la base de données en cours.
|
lien : Pourquoi faut-il compacter les bases de données ?
|
| auteur : Maxence HUBICHE | TABLE1
LaDate LeDebut LaFin LeSujet
12/11/2003 10:15:00 11:15:00 test
13/11/2003 09:00:00 09:30:00 essai
TABLE2
DD DF
09:00:00 09:30:00
09:30:00 10:00:00
10:00:00 10:30:00
10:30:00 11:00:00
11:00:00 11:30:00
11:30:00 12:00:00
12:00:00 12:30:00
REQUETE1
TRANSFORM First (IIf ([ledebut]< [dd] And [lafin]> [df] Or [Ledebut]>= [DD]
And [LeDebut]< [DF] Or [LaFin]> [DD] And [LaFin]< = [DF],[LeSujet]," " )) AS Expr2
SELECT Table2. DD , Table2. DF
FROM Table2, Table1
GROUP BY Table2. DD , Table2. DF
PIVOT Choose (Weekday ([LaDate])," dimanche " ," lundi " ," mardi " ," mercredi " ," jeudi " ," vendredi " ," samedi " )
In (" Lundi " ," Mardi " ," Mercredi " ," Jeudi " ," Vendredi " ," Samedi " ," Dimanche " );
|
Cet exemple correspond à un emploi d'une semaine. Pour utiliser ce code sur un mois il faut remplacer le PIVOT par : PIVOT Day ([LaDate]) In (1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 ,22 ,23 ,24 ,25 ,26 ,27 ,28 ,29 ,30 ,31 )
|
|
| auteur : Maxence HUBICHE | Il faut installer d'abord Access 97 puis Access 2000. Toujours le plus récent à la fin.
Ensuite, il suffit de faire deux raccourcis depuis les fichiers MSAccess.exe se trouvant dans les dossiers d'installation définis.
|
| auteur : Team Access | Il existe une option permettant de définir l'icône de l'application à afficher dans la barre de titre de la base de donnée :
Menu Outils / Démarrage / Icône de l'application
|
| auteur : Team Access |
Pour ouvrir un formulaire au démarrage de l'application, rendez-vous dans le
menu Outils puis Démarrage. Définissez la propriété Formulaire de démarrage.
Pour exécuter un traitement au lancement de l'application, créez une macro nommée AutoExec
incluant les actions dont vous avez besoin.
En général, le développeur dote cette macro d'une seule action : Exécuter Code,
permettant ainsi de lancer une fonction VBA au démarrage de son produit.
|
lien : Comment empêcher le lancement du formulaire de démarrage ou de la macro AUTOEXEC ?
|
| auteur : Lili21 |
Function GetLinkedDBName (TableName As String )
Dim db As Database, Ret
On Error GoTo DBNameErr
Set db = CurrentDb ()
Ret = db. TableDefs (TableName). Connect
GetLinkedDBName = Right (Ret, Len (Ret) - (InStr (1 , Ret, " DATABASE= " ) + 8 ))
Exit Function
DBNameErr :
GetLinkedDBName = 0
End Function
Function DriveLinkedTable () As String
Dim X As String , I As Integer
Dim Path As String
X$ = GetLinkedDBName (" ENFANT " )
For I = Len (X$) To 1 Step - 1
If Mid $(X$, I, 1 ) = " \ " Then Exit For
Next
Path$ = Left $(X$, I - 1 ) & " \ "
DriveLinkedTable = Path$
End Function
|
La fonction GetLinkedDBName() retourne le chemin réseau de la table passée en paramètre.
La fonction DriveLinkedTable() retourne ce même chemin mais sans le nom du fichier de la base de données.
|
lien : Comment récupérer le chemin d'accès à la Base contenant les tables par ADO ?
|
| auteur : Gaël Donat | Tout d'abord, Access est un front end Windows, non un front end Web.
Donc on ne peut utiliser l'interface (les formulaires) sur l'Internet, cependant les tables et leurs données sont utilisables.
Pensez peut-être aussi à passer d'Access à MySQL. MySQL est gratuit et se combine parfaitement avec le langage PHP.
Qu'utiliser alors pour l'interface ?
Toute technologie de page dynamique -> PHP et ASP en tête.
|
| auteur : Lucifer | La solution est d'importer les objets voulus (requêtes, formulaires, tables, macros ou états).
Pour se faire ouvrez votre base de destination (créez-en une vierge si besoin est) et faites Insertion > Table > Importer la table.
Il ne vous reste alors qu'à naviguer entre les différents onglets et importer les objets dont vous avez besoin.
|
| auteur : raph692 | Non !
MDE : Fichier de base de données "semi-protégé" : un MDE est un MDB dans lequel il n'est plus possible d'ajouter ou de modifier des formulaires, des états ou des modules VBA. Contrairement à l'idée reçue, le MDE n'est pas une protection intégrale d'un MDB : les tables, requêtes et macros sont toujours accessibles.
Mais le MDE a subi une pseudo compilation. Tous les éléments disponibles pour la modification des modules (et modules de classes, donc états et formulaires inclus) ne sont plus accessibles.
|
lien : Qu'est-ce qu'un fichier mde ?
|
| auteur : Team Access | MS Access n'est pas fait pour faire ce type d'application.
Depuis la version 2000, il est cependant possible de créer des projets MS Access.
Les projets MS Access sont la grosse nouveauté permettant de créer des clients de bases de données SQL Serveur.
Dans ce cas-là, on peut créer une application réellement client serveur.
Pour ce type d'architecture vous pourrez utiliser MSDE (version restreinte de SQL Server) qui est fournie sur le CD d'Office.
|
lien : Comment utiliser une application en mode multi-utilisateurs par Morgan BILLY
|
| auteur : Maxence HUBICHE | Il s'agit simplement de la mise en place d'un mot de passe sur le fichier de base de données.
La sécurité de Niveau base de données n'est pas fiable.
|
| auteur : Maxence HUBICHE |
La sécurité de niveau Utilisateur est bien plus fine.
Elle est d'ores et déjà active, mais les paramètres sont tellement ouverts qu'on ne le voit pas :
Lorsque MS-Access se lance, une lecture est faite au niveau de la base de registres, allant chercher le fichier système qui va régir le DBEngine (DAO).
Une fois ces paramètres définis, la base de données s'ouvre, d'où le schéma DBENGINE-WORKSPACE-DATABASE, et la propriété SystemDB du DBEngine.
C'est à l'ouverture du Workspace que les user et pwd sont demandés, d'où la syntaxe CREATEWORKSPACE(<<Name>>,<<USER>>,<<PWD>>,...).
----------------------------------------------------------
Le fichier SystemDB, on peut le voir en lancant l'utilitaire wrkgadm.exe.
Il est même conseillé d'en créer un spécifique, en laissant le system.mdw existant intact. A quoi sert l'utilitaire :
-Créer de nouveaux fichiers de sécurité
-Modifier la base de registres en définissant le fichier de sécurité actif pour la prochaine
session MS-Access. A quoi sert ce fichier : A définir les Users et Groups
---------------------------------------------------------
Etapes :
1-Créer un fichier de sécurité
2-Ouvrir MS-Access
3-Faire Outils/Sécurité, définir tous les Users et Groups (minimum 1 User : MoiMeme, 1 Group : MonGroup)
4-Faire toutes les associations Users-Groups (dont MoiMeme-MonGoupe)
5-Mettre un des nouveaux Users ( MoiMeme) dans le groupe des Administrateurs
6-Enlever le User Administrateur du Groupe Administrateurs
7-Donner un mot de passe à l'Administrateur
8-Quitter MS-Access
9-Ouvrir MS-Access (pour mettre en place ces nouveaux paramètres)
10-Mettre le nom du nouveau User (MoiMeme) et aucun mot de passe
11-Créer une base de données (ainsi ce sera MoiMeme qui sera le propriétaire de la base)
12-Faire Outils/Sécurité pour paramétrer les droits:
Retirer tous les droits du groupe des Utilisateurs
Retirer tous les droits du groupe des administrateurs
Mettre tous les droits au groupe des développeurs
Et faire cela sur chacun des types d'objets, dont la base de données. Ainsi, la base de données ne pourra pas être ouverte pas l'utilisateur par défaut (Utilisateur Administrateur)
13-Importer tous les objets de la base d'origine.
---------------------------------------------------------
Cette base ne pourra être ouverte que si
1- on a le bon fichier mdw
2- si on connaît le mot de passe
Ensuite la meilleure solution est de créer un raccourci dont les propriétés sont les suivantes :
" Chemin\vers\MSAccess.exe " " Chemin\vers\votre\fichier.mdb " / Wrkgrp " Chemin\vers\votre\fichier.mdw "
|
Astuce si vous ne voulez pas taper votre mot de passe à chaque fois :
/ user NomUtilisateur / pwd LeMotDePasse
|
|
| auteur : Team Access |
Au fur et à mesure de l'utilisation de votre base de données, la taille du fichier tend à accroître considérablement.
Ceci est dû à la méthode utilisée par Access pour stocker les enregistrements. Il vous est donc recommandé de compacter régulièrement votre fichier.
De plus, depuis Access 2000, le compactage inclu la réparation du fichier s'il est endommagé.
|
lien : Comment compacter une base de données ?
|
| auteur : Team Access | VBA pour Visual Basic édition (ou en Anglais : "for") Application (càd. orienté vers les applications bureautiques de Microsoft, Access, Excel, Word, ...).
Certains éléments qu'on peut être amené à gérer dans une application en Access ou en Excel, par exemple, sont identiques. D'autres sont spécifiques.
VBA peut être vu comme une restriction de VB. Mais l'interface de développement d'Access, par exemple, apporte pas mal de facilités.
|
| auteur : Team Access |
Les limites de Microsoft Access sont consultables dans l'aide sous le mot-clé "Spécifications de Microsoft Access".
Vous y trouverez le nombre d'utilisateurs admissible, la taille maximale de la base de données, le nombre d'objets autorisés, etc.
|
| auteur : Team Access | Il faut lancer ce qui suit en ligne de commande (pour Access 2000) :
" C:\Program Files\Office2000\Office\MSACCESS.EXE " " C:\Mes documents\MaBase.mdb " / repair
|
La base sera ainsi réparée mais non ouverte.
Sinon, intéressez-vous à la méthode "CompactDataBase".
|
| auteur : Demco |
Lire une application avec une version d'Access supérieure ou égale à celle utilisée lors du développement ne devrait pas poser de problème.
Cependant, l'inverse n'est pas vrai. A savoir qu'une base développée sous Access 2003 ET enregistrée au format Access 2003 ne sera pas exploitable par les versions antérieures d'Access.
|
| auteur : Team Access | Les triggers ne sont pas gérés sur les bases de données MS-Access.
|
| auteur : Miss Ti |
Certains fichiers d'aide sont placés dans le dossier C:\Program Files\Common Files alors que l'aide cherche dans le dossier
C:\Program Files\Fichiers communs.
Il vous suffit de copier l'aide dans le second dossier.
|
| auteur : LedZeppII |
Pour Activer / Désactiver la correction orthographique des applications Office, il faut passer par la base de registre.
Pour votre sécurité, faites une sauvegarde de la base de registre avant de réaliser la modification.
Pour accéder à la base de registre tapez regedit dans la fenêtre Exécuter du menu Démarrer.
Ceci désactive la correction :
[HKEY_CURRENT_USER\ Software\ Microsoft\ Office\ 11 . 0 \ Common\ AutoCorrect]
" ACOptions " = dword:00000000
" CorrectTwoInitialCapitals " = dword:00000000
" CapitalizeSentence " = dword:00000000
" CapitalizeNamesOfDays " = dword:00000000
" ToggleCapsLock " = dword:00000000
" ReplaceText " = dword:00000000
|
Ceci active la correction :
[HKEY_CURRENT_USER\ Software\ Microsoft\ Office\ 11 . 0 \ Common\ AutoCorrect]
" ACOptions " = dword:00000001
" CorrectTwoInitialCapitals " = dword:00000001
" CapitalizeSentence " = dword:00000001
" CapitalizeNamesOfDays " = dword:00000001
" ToggleCapsLock " = dword:00000001
" ReplaceText " = dword:00000001
|
|
| auteur : Cafeine |
Dans un premier temps il faut ajouter la référence : TypeLib Information (C:\Winnt\system32\tblinf32.dll)
Ce code va vous permettre de lister les objets, méthodes et propriétés disponibles dans une version d'Access donnée.
Collez ce code dans un module.
Public Function GetMethod (ByVal strRefName As String , ByVal strObject As String , _
Optional ByVal item As String = " * " ) As Collection
Dim objTLI As TypeLibInfo
Dim objInterFace As InterfaceInfo
Dim objMember As MemberInfo
Dim i As Integer
Dim strTypeName As String , strLastAdded As String
Set objTLI = New TypeLibInfo
objTLI. ContainingFile = Application. References (strRefName). FullPath
For i = 1 To objTLI. TypeInfos . Count
If (objTLI. TypeInfos (i). Name = strObject) Then
Set objInterFace = objTLI. TypeInfos (i). Interfaces (1 )
Exit For
End If
Next i
If Not (objInterFace Is Nothing ) Then
For Each objMember In objInterFace. Members
If Not (Left $(objMember. Name , 1 ) = " _ " ) And _
Not (objMember. Name = strLastFound) And _
(objMember. InvokeKind = INVOKE_FUNC Or _
objMember. InvokeKind = INVOKE_EVENTFUNC) And _
(objMember. Name Like item) Then
Debug. Print objMember. Name
strLastFound = objMember. Name
End If
Next objMember
End If
End Function
|
Appel de la fonction :
GetMethod " Access " , " Form "
|
Le dernier argument est facultatif, il permet de faire une recherche précise, exemple avec les propriétés commencant par A
GetMethod " Access " , " Form " , " a* "
|
|
lien : Comment déclarer une référence dans MS-Access ?
|
| auteur : Team Access | L'aide ADO n'est pas affichée lorsque vous faites référence à la bibliothèque d'objets ADO 2.7 ou ultérieur
La solution se trouve décrite sur le site de Microsoft à l'URL :
|
| auteur : Maxence HUBICHE | Les variables globales, c'est beurk de chez beurk parce que :
- Une variable est un espace mémoire stockant des données. Moins on utilise d'espace mémoire pour stocker des données, plus on en a pour l'application elle-même.
- Elles ont une durée de vie équivalente à la durée du projet (de l'ouverture à la fermeture de la base, en gros), ce qui signifie qu'elles conservent leurs valeurs pendant toute la durée d'exécution de la base. Or, il est extrêmement rare qu'une variable soit utilisée EN PERMANENCE. Donc, on se retrouve avec des données en mémoire, avec des temps de latence extrêmement longs. Donc, on monopolise de la mémoire pour... rien, la majeure partie du temps de travail de l'application. Stocker l'info dans une table, dans une propriété de la base, dans la base de registre, dans un fichier texte (etc.) reviendrait donc rigoureusement au même, mais sans utiliser la mémoire.
|
| auteur : titi95 | Deux problèmes rencontrés lors de l'installation d'Access97 sous Windows VISTA
1. impossibilité de créer le fichier System.mdw (groupe de travail) à l'installation ou ensuite en utilisant le Wrkgadm.exe. Même en ouvrant "en tant qu'administrateur".
Solution : récupérer l'ancien fichier et le coller sous Windows\system32.
2. ouverture impossible d'Access : "mémoire insuffisante"
Erreur Microsoft.
Solution : télécharger la mise à jour SR1 d'Office 97
Office 97 Service Release 1
 | Ouvrir le .exe de la mise à jour avec l'option "administrateur" (clic droit) |
|
Consultez les autres F.A.Q's
Les sources présentés sur cette pages sont libre de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2004
Developpez LLC. Tout droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérets.
Cette page est déposée à la SACD.
|