Commentaires Récents

Mardi 20 mai 2008
Microsoft Visual Studio 2008 est disponible en version française.
Découvrez dès maintenant toute la gamme sur le site MSDN :
-       Visual Studio 2008 Team System
-       Visual Studio 2008 Professional Edition
-       Visual Studio 2008 Standard Edition
-       Éditions Visual Studio Express
-       Fiches Produits Visual Studio

Cliquer ici
Par Raymond - Publié dans : Annonces
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Vendredi 11 avril 2008

En création ou modification de formulaire, si vous nommez un contrôle texte avec le nom "Contenu", Access part en erreur générale dès que vous avez tapé la lettre u ou dès que vous avez enfoncé la touche Entrée et windows arrête l'application, Toutes les modifications non enregistrées sont perdues.
Cette erreur se reproduirait également si vous cliquez sur un contrôle texte nommé Contenu.

le mot Contenu étant un nom de propriété francisé de contrôle, il est possible que l'erreur provienne de là, ce qui n'excuse pas le "plantage général" de l'application.

Par Raymond - Publié dans : Bugs Access 2007
Ecrire un commentaire - Voir les 2 commentaires - Recommander
Jeudi 3 avril 2008

Vous trouverez en téléchargement une base mdb 2000, nommée saveTxt qui permet d'enregistrer des objets dans des fichiers texte et de charger des objets à partir de fichiers texte.

La base comporte deux modules standards à importer dans votre application ainsi qu'une macro AutoKeys à inclure dans votre macro de même nom. Si vous n'avez pas de macro AutoKeys, importez la macro Autokeys fournie.

Vous disposez de 3 touches pour réaliser l'enregistrement et le chargement des objets:

F5 permet d'enregistrer le formulaire ou l'état actif affiché à l'écran, dans un fichier texte portant le nom de l'objet + ".txt", précédé de "form_" ou "report_"

F6 permet d'enregistrer tous les formulaires et tous les états dans un fichier texte portant le nom de l'objet + ".txt", précédé de "form_" ou "report_"

F7 permet de charger des formulaires et/ou états à partir de fichiers texte, nommés comme indiqué ci-dessus.

Compatibilité: vous devez impérativement charger des objets qui on été créés par la même version d'Access ou une version ultérieure. Si vos fichiers texte ont été créés par une version 2007, vous ne pouvez les relire que sur une version 2007, si vos fichiers texte ont été créés par une version 2003, vous ne pouvez les relire que sur une version 2003 ou 2007, Si vos fichiers texte ont été créés par une version 2000, vous pouvez les relire sur une version 2000, 2003, 2007. Si vos fichiers texte ont été créés par une version 2007, vous ne pouvez pas les relire sur une version 2000, par exemple. Attention: Le type de base n'a pas d'importance, seule la version Access est prise en compte, pour les versions 2003 et 2007. Un fichier texte créé sur une version Access 2007 avec une base 2000 ne pourra pas être lu par Access 2000.

Par sécurité, toujours faire une sauvegarde de votre base avant de charger des objets.

Téléchargement de la base sur la page :

http://officesystemaccess.seneque.net/telechargement.htm#Utilitaires

ou directement sur

http://officesystemaccess.seneque.net/telecharger/saveTxt.zip

 

Par Raymond - Publié dans : Téléchargements
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Lundi 31 mars 2008

Lorsque vous ouvrez un formulaire, si vous n'indiquez pas de critères, vous disposez des fonctions d'ajout, de modification et de suppression des enregistrements. Vous pouvez limiter la portée du formulaire à la saisie par le mode de données acFormAdd et à la modification par acFormEdit.

acFormEdit permettra également de passer en saisie d'un nouvel enregistrement.

Si vous voulez supprimer le mode ajout automatique, vous pouvez placer la propriété Cycle à "Enregistrement en cours" , pour ne pas passer directement sur un nouvel enregistrement en fin de formulaire. Mais ce n'est pas suffisant, car la touche "Page Suiv" permettra quand même de passer sur un nouvel enregistrement.

Dans ce cas, il ne reste que deux possibilités, la première d'interdire l'accès à la touche mais il faudra écrire du code vba pour chaque contrôle de saisie, la seconde d'indiquer True ou False dans la propriété AllowAdditions du formulaire. Cette propriété pourra être modifié dans le formulaire lui-même dans l'événement Open ou Load ou directement dans le formulaire appelant, immédiatement derrière l'instruction OpenForm.

Par Raymond - Publié dans : Astuces
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Dimanche 17 février 2008
Nous avons souvent besoin sous Access de créer des noms de fichiers uniques comme par exemple en exportation pour ne pas écraser un fichier existant. Mais il faut que le nouveau fichier créé porte bien le nom exact que nous désirons. Pour cela, nous ajoutons un indice entre [ ] au nom de fichier. Le fichier « c:/export/monfichier.xls » devra donc s’appeler « c:/export/monfichier[1].xls » si le nom du premier fichier existe déjà. Il en va de même si plusieurs fichiers avec indice sont déjà créés, il faudra trouver le premier indice manquant pour que le nom du nouveau fichier soit correct.
Chaque fois que nous allons créer un fichier export (dans l’exemple ci-dessus) nous devrons vérifier que le fichier n’existe pas ou qu’un même fichier ne possède pas le même indice.
Nous avons donc à notre disposition une nouvelle fonction qui permet de vérifier si le nom existe et si oui, qui nous retourne un nom de fichier avec un indice correct.
Cette fonction sera d’un grand secours dans le cas de la sélection d’un nom de fichier par l’opérateur qui pourra se contenter de sélectionner un des noms et la fonction ajustera l’indice.
De plus, nous passons optionnellement une valeur d’indice à partir de laquelle le test doit avoir lieu.
Donc, chaque fois que nous créerons un fichier , nous vérifierons l’unicité du nom par la fonction :
NomduFichier  =  FichierUnique(NomduFichier, indice)
L’indice est optionnel et sa valeur par défaut est fixée à 1. L’indice calculé par la fonction sera le premier indice manquant à partir de l’indice fourni.
Exemple : si vous exécutez
MsgBox FichierUnique("F:/Mes Documents sur Data/Download/Essais/GetOfficeButton.xls"), la fonction pourra vous retourner la valeur :
F:/Mes Documents sur Data/Download/Essais/GetOfficeButton[12].xls
Parce que votre dossier contient déjà 12 fichiers portant ce même nom.
Si aucun fichier n’existe dans le dossier, la fonction ne modifie pas le nom du fichier.
Fonction à placer dans un module standard de n’importe quel nom :

Option Compare Database
Option Explicit
Private Declare Function GetFileAttributes Lib "kernel32.dll" _
        Alias "GetFileAttributesA" (ByVal lpFichier As String) As Long
Dim Dossier As String
Dim Fichier As String
Dim Extension As String
Dim wFichier As String
Dim Séparateur As Integer
Dim I As Integer
Public Function FichierUnique(NomFichier As String, _
                              Optional PremierIndice As Integer = 1) _
                              As String
    wFichier = NomFichier
    If Nz(wFichier, "") <> "" Then
        If GetFileAttributes(wFichier) <> &HFFFFFFFF Then
            Séparateur = InStrRev(wFichier, "")
            If Séparateur > 0 Then
                Dossier = Left(wFichier, Séparateur)
                wFichier = Mid(wFichier, Séparateur + 1)
            Else
                Dossier = ""
            End If
            Séparateur = InStrRev(wFichier, ".")
            If Séparateur > 0 Then
                Extension = Mid(wFichier, Séparateur)
                Fichier = Left(wFichier, Séparateur - 1)
            Else
                Fichier = wFichier
                Extension = ""
            End If
            I = PremierIndice
            Do
                wFichier = Dossier & Fichier & "[" & I & "]" & Extension
                I = I + 1
            Loop While GetFileAttributes(wFichier) <> &HFFFFFFFF
        End If
    End If
    FichierUnique = wFichier
End Function
Par Raymond - Publié dans : Astuces
Ecrire un commentaire - Voir les 0 commentaires - Recommander

Syndication

  • Flux RSS des articles

Calendrier

Juillet 2009
L M M J V S D
    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    
<< < > >>

Rechercher

Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus