Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire      


Batch qui lance une macro Access
auteur : ARO
L'extension pour exécuter une macro est /x start /WAIT msaccess.exe O:\outils\automa~1\autonet.mdb /x Archivage >> %LogFil% 2>Archivage


Détecter si un lecteur / lecteur réseau existe.
auteur : Team Access

Pour tester l'existence d'un lecteur réseau et sa connexion, vous pouvez utiliser
l'objet FileSystemObject de la référence Microsoft Scripting Runtime.


Vous devez donc ajouter cette référence à votre projet


Exemple d'utilisation :

Dim oFSO As New FileSystemObject
Dim oDrv As Drive
Dim strLettre As String
strLettre = "Z"
If oFSO.DriveExists(strLettre) Then
    Set oDrv = oFSO.GetDrive(strLettre)
    If oDrv.IsReady Then MsgBox "Le lecteur réseau est disponible"
Else
    MsgBox "Ce lecteur réseau n'est pas configuré sur votre machine"
End If

Importer des données de fichiers File Maker FP5 dans ACCESS
auteur : Etienne Bar
C'est possible par ODBC.
Voici la manipulation qui fonctionne avec les .fp5, à tester avec les autres :
  • Il faut que ton fichier soit ouvert dans Filemaker. Tu vas dans le menu fichier pour partager ton fichier
  • Il faut que tu déclares une source ODBC dans le panneau de configuration de Ouindoze en indiquant ton fichier
  • Tu vas dans Access et tu lies tes tables via ODBC. Tu les verras alors comme des tables Access
Attention :
- pour utiliser votre lien, il faut que votre fichier soit ouvert dans FileMaker - vos rubriques texte de plus de 255 caractères seront tronquées sur les 255 premiers


Imprimer un fichier texte
auteur : Gaël Donat
Lorsqu'on fait un bouton droit sur un fichier Texte (.txt), on a l'option "imprimer" dans le menu contextuel.
Après une recherche dans la base de registre sur le mot clé "TXT", on trouve ceci :
HKEY_CLASS_ROOT\txtfile\shell\print\command : %SystemRoot%\system32\NOTEPAD.EXE /p %1
Et donc la syntaxe pour imprimer avec la fonction Shell est la suivante :
Shell "M:\WINNT\NOTEPAD.EXE /p " & strPathTmp & "ArtSansTpsCycle.txt"

Peut-on ouvrir des fichiers wav avec Access ?
auteur : Maxence HUBICHE
Dans un module standard, il faut mettre :
Declare Function PlaySound Lib "winmm.dll" Alias "sndPlaySoundA"  _
        (ByVal lpszSoundName As Any, ByVal uFlags As Long) As Long

 'Mettre 0 dans le uFlags pour laisser le son se terminer avant que le programme ne reprenne le controle
 'Mettre 1 dans le uFlags pour que le programme reprenne le controle immédiatement après le début du playback
 'Mettre 0& (Null) dans le lpszSoundName ET 1 dans le uFlags pour arréter le Playback en cours
Dans le formulaire de démarrage, il faut mettre :
Private Sub Form_Close()
    PlaySound 0&, 1
End Sub

Private Sub Form_Load()
    PlaySound "LePathDuFichier.wav", 1
End Sub
lien : Comment jouer un son midi dans mon application ?

Rafraichir la mémoire cache
auteur : Maxence HUBICHE
Utiliser la ligne suivante :
DBEngine.Idle dbRefreshCache

Récupérer les paramètres régionaux Windows
auteur : Maxence HUBICHE
Option Compare Database
Option Explicit

Public Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long,  _
                     ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Public Const LOCALE_USER_DEFAULT = &H400
Public Enum LOCALES
    LOCALE_ICENTURY = &H24             '  century format specifier
    LOCALE_ICOUNTRY = &H5              '  country code
    LOCALE_ICURRDIGITS = &H19          '  # local monetary digits
    LOCALE_ICURRENCY = &H1B            '  positive currency mode
    LOCALE_IDATE = &H21                '  short date format ordering
    LOCALE_IDAYLZERO = &H26            '  leading zeros in day field
    LOCALE_IDEFAULTCODEPAGE = &HB      '  default code page
    LOCALE_IDEFAULTCOUNTRY = &HA       '  default country code
    LOCALE_IDEFAULTLANGUAGE = &H9      '  default language id
    LOCALE_IDIGITS = &H11              '  number of fractional digits
    LOCALE_IINTLCURRDIGITS = &H1A      '  # intl monetary digits
    LOCALE_ILANGUAGE = &H1             '  language id
    LOCALE_ILDATE = &H22               '  long date format ordering
    LOCALE_ILZERO = &H12               '  leading zeros for decimal
    LOCALE_IMEASURE = &HD              '  0 = metric, 1 = US
    LOCALE_IMONLZERO = &H27            '  leading zeros in month field
    LOCALE_INEGCURR = &H1C             '  negative currency mode
    LOCALE_INEGSEPBYSPACE = &H57       '  mon sym sep by space from neg amt
    LOCALE_INEGSIGNPOSN = &H53         '  negative sign position
    LOCALE_INEGSYMPRECEDES = &H56      '  mon sym precedes neg amt
    LOCALE_IPOSSEPBYSPACE = &H55       '  mon sym sep by space from pos amt
    LOCALE_IPOSSIGNPOSN = &H52         '  positive sign position
    LOCALE_IPOSSYMPRECEDES = &H54      '  mon sym precedes pos amt
    LOCALE_ITIME = &H23                '  time format specifier
    LOCALE_ITLZERO = &H25              '  leading zeros in time field
    LOCALE_NOUSEROVERRIDE = &H80000000 '  do not use user overrides
    LOCALE_S1159 = &H28                '  AM designator
    LOCALE_S2359 = &H29                '  PM designator
    LOCALE_SABBREVCTRYNAME = &H7       '  abbreviated country name
    LOCALE_SABBREVDAYNAME1 = &H31      '  abbreviated name for Monday
    LOCALE_SABBREVDAYNAME2 = &H32      '  abbreviated name for Tuesday
    LOCALE_SABBREVDAYNAME3 = &H33      '  abbreviated name for Wednesday
    LOCALE_SABBREVDAYNAME4 = &H34      '  abbreviated name for Thursday
    LOCALE_SABBREVDAYNAME5 = &H35      '  abbreviated name for Friday
    LOCALE_SABBREVDAYNAME6 = &H36      '  abbreviated name for Saturday
    LOCALE_SABBREVDAYNAME7 = &H37      '  abbreviated name for Sunday
    LOCALE_SABBREVLANGNAME = &H3       '  abbreviated language name
    LOCALE_SABBREVMONTHNAME1 = &H44    '  abbreviated name for January
    LOCALE_SABBREVMONTHNAME10 = &H4D   '  abbreviated name for October
    LOCALE_SABBREVMONTHNAME11 = &H4E   '  abbreviated name for November
    LOCALE_SABBREVMONTHNAME12 = &H4F   '  abbreviated name for December
    LOCALE_SABBREVMONTHNAME13 = &H100F
    LOCALE_SABBREVMONTHNAME2 = &H45    '  abbreviated name for February
    LOCALE_SABBREVMONTHNAME3 = &H46    '  abbreviated name for March
    LOCALE_SABBREVMONTHNAME4 = &H47    '  abbreviated name for April
    LOCALE_SABBREVMONTHNAME5 = &H48    '  abbreviated name for May
    LOCALE_SABBREVMONTHNAME6 = &H49    '  abbreviated name for June
    LOCALE_SABBREVMONTHNAME7 = &H4A    '  abbreviated name for July
    LOCALE_SABBREVMONTHNAME8 = &H4B    '  abbreviated name for August
    LOCALE_SABBREVMONTHNAME9 = &H4C    '  abbreviated name for September
    LOCALE_SCOUNTRY = &H6              '  localized name of country
    LOCALE_SCURRENCY = &H14            '  local monetary symbol
    LOCALE_SDATE = &H1D                '  date separator
    LOCALE_SDAYNAME1 = &H2A            '  long name for Monday
    LOCALE_SDAYNAME2 = &H2B            '  long name for Tuesday
    LOCALE_SDAYNAME3 = &H2C            '  long name for Wednesday
    LOCALE_SDAYNAME4 = &H2D            '  long name for Thursday
    LOCALE_SDAYNAME5 = &H2E            '  long name for Friday
    LOCALE_SDAYNAME6 = &H2F            '  long name for Saturday
    LOCALE_SDAYNAME7 = &H30            '  long name for Sunday
    LOCALE_SDECIMAL = &HE              '  decimal separator
    LOCALE_SENGCOUNTRY = &H1002        '  English name of country
    LOCALE_SENGLANGUAGE = &H1001       '  English name of language
    LOCALE_SGROUPING = &H10            '  digit grouping
    LOCALE_SINTLSYMBOL = &H15          '  intl monetary symbol
    LOCALE_SLANGUAGE = &H2             '  localized name of language
    LOCALE_SLIST = &HC                 '  list item separator
    LOCALE_SLONGDATE = &H20            '  long date format string
    LOCALE_SMONDECIMALSEP = &H16       '  monetary decimal separator
    LOCALE_SMONGROUPING = &H18         '  monetary grouping
    LOCALE_SMONTHNAME1 = &H38          '  long name for January
    LOCALE_SMONTHNAME10 = &H41         '  long name for October
    LOCALE_SMONTHNAME11 = &H42         '  long name for November
    LOCALE_SMONTHNAME12 = &H43         '  long name for December
    LOCALE_SMONTHNAME2 = &H39          '  long name for February
    LOCALE_SMONTHNAME3 = &H3A          '  long name for March
    LOCALE_SMONTHNAME4 = &H3B          '  long name for April
    LOCALE_SMONTHNAME5 = &H3C          '  long name for May
    LOCALE_SMONTHNAME6 = &H3D          '  long name for June
    LOCALE_SMONTHNAME7 = &H3E          '  long name for July
    LOCALE_SMONTHNAME8 = &H3F          '  long name for August
    LOCALE_SMONTHNAME9 = &H40          '  long name for September
    LOCALE_SMONTHOUSANDSEP = &H17      '  monetary thousand separator
    LOCALE_SNATIVECTRYNAME = &H8       '  native name of country
    LOCALE_SNATIVEDIGITS = &H13        '  native ascii 0-9
    LOCALE_SNATIVELANGNAME = &H4       '  native name of language
    LOCALE_SNEGATIVESIGN = &H51        '  negative sign
    LOCALE_SPOSITIVESIGN = &H50        '  positive sign
    LOCALE_SSHORTDATE = &H1F           '  short date format string
    LOCALE_STHOUSAND = &HF             '  thousand separator
    LOCALE_STIME = &H1E                '  time separator
    LOCALE_STIMEFORMAT = &H1003        '  time format string
End Enum

Function GetLocale(ByVal TypeLocal As LOCALES) As Variant
    Dim sBuffer As String
    Dim nRet    As Long
   
    sBuffer = String(256, 0)
    nRet = GetLocaleInfo(LOCALE_USER_DEFAULT, TypeLocal, sBuffer, Len(sBuffer))
   
    If nRet > 0 Then
        GetLocale = Left(sBuffer, nRet - 1)
    Else
        GetLocale = ""
    End If
   
End Function
Pour récupérer par exemple le style de date courte, il suffira de faire appel à la fonction GetLocale, en lui passant le paramètre LOCALE_SSHORTDATE.


Trouver le Drive d'installation de "Winnt\system32"
auteur : Bidou
Mettre en référence : Microsoft Scripting Runtime
Dim fso As New FileSystemObject, Repertoire As Folder
Set Repertoire = fso.GetSpecialFolder(SystemFolder)

Trouver un fichier dans un dossier (par exemple un fichier excel)
auteur : Cupidon
Function ChercherFichier(nomFichier As String) As Boolean
 'nomFichier : Nom du fichier cherché qui est passé en paramètre d'appel de la fonction
With Application.FileSearch
        .lookin = "D:\Sauvegarde\Programmation\Developpez.com\EditeurFaq"
        .FileName = nomFichier
        .filetype = msoFileTypeAllFiles
        .Searchsubfolders = True
        If .Execute Then
            ChercherFichier = True
        Else
            ChercherFichier = False
        End If
End With
End Function
Pour utiliser cette la constante msoFileTypeAllFiles, il faut référencer la librairie Micosoft Office x.x Object library.


Comment jouer un son midi dans mon application ?
auteur : Tofalu
Pour jouer un fichier mid, il faut utiliser les API. Dans un module :
Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Public Sub JouerMusique(ByVal Fichier As String)
    mciExecute ("play " & Fichier)
End Sub

Private Sub ArreterMusique(ByVal Fichier As String)
    mciExecute ("stop " & Fichier)
End Sub
Pour lancer la lecture :
JouerMusique("d:\town.mid")
Pour arrêter :
ArreterMusique("d:\town.mid")
lien : Peut-on ouvrir des fichiers wav avec Access ?

Comment déclencher plusieurs Beep successifs
auteur : Tofalu
Dans un module :
Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
Puis dans le code :
For i=1 to 1000
beep
sleep(500)
next i

Comment fermer la fenêtre VBA en VBA ?
auteur : Tofalu
Il faut utiliser l'objet VBE
Application.VBE.MainWindow.Visible = False

Comment savoir si mon clavier est en majuscule ou pas?
auteur : Tofalu
Public Declare Function GetKeyState Lib "user32" (ByVal iVirtualKey As Integer) As Long

Public Function Is_Majuscule() As Boolean
Is_Majuscule = (&H1 And GetKeyState(vbKeyCapital)) <> 0
End Function
La fonction Is_Majuscule renvoie true si le clavier est en majuscule, false sinon.

lien : Comment Activer/Désactiver le Caps Lock du clavier

Comment Activer/Désactiver le Caps Lock du clavier
auteur : Maxence HUBICHE
Private Type KeyboardBytes
     kbByte(0 To 255) As Byte
End Type
Enum apiOnOff
    apiOn = 1
    apiOff = 0
End Enum
Dim kbArray As KeyboardBytes

Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long

Private Sub ChangerCapsLock(v As apiOnOff)
    GetKeyboardState kbArray
    kbArray.kbByte(&H14) = v
    SetKeyboardState kbArray
End Sub
Utiliser sous la forme pour désactiver :
    ChangerCapsLock apiOff
ou, pour activer :
    ChangerCapsLock apiOn

Comment faire qu'une fonction renvoie en tableau en Access 97 ou inférieures ?
auteur : Cafeine
Au moyen d'un type de données qui encapsule un tableau.
Exemple avec une fonction de décomposition de chaîne en tableau.
La fonction stringTab() renvoie bien un tableau.

Option Explicit

Type typTabResult
  items() As String * 1
End Type

Function stringTab(ByVal str) As typTabResult

Dim i As Integer
For i = 1 To Len(str)
    ReDim Preserve stringTab.items(i)
    stringTab.items(i) = Mid(str, i, 1)
Next i

End Function


Function TestTab()

Dim monTab As typTabResult
Dim i As Integer

monTab = stringTab("Hello World !")

For i = 1 To UBound(monTab.items)
    Debug.Print i, monTab.items(i)
Next i

End Function

objet OLE insérer un objet par bouton de commande
auteur : Arkham46

Pour faire l'équivalent du click droit --> insérer objet

LeContrôleOLE.SetFocus
Docmd.RunCommand acCmdInsertObject

pour éviter l'erreur si l'utilisateur sélectionne le bouton Annuler il faut mettre
une gestion d'erreur.

voir on error dans l'aide :

le plus simple mais pas le meilleur, annuler tous les messages d'erreur

On error resume next
LeContrôleOLE.SetFocus
Docmd.RunCommand acCmdInsertObject

sinon utilisez on error goto pour renvoyer les erreurs vers
une étiquette et les traiter en fonction de la valeur de Err.Number


Comment afficher le clavier virtuel en VBA ?
auteurs : Starec, Cafeine
Pour afficher le clavier virtuel, tapez osk dans Exécuter du menu Démarrer.
Pour réaliser la même chose en VBA, voici le code :

Ce code permet d'afficher le clavier virtuel sur un clic droit dans une zone de texte
Private Sub LaTextBox_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Me.ShortcutMenu = False
    If Button = acRightButton Then
        Shell "osk.exe"
    End If
End Sub
warningCe code ne fonctionne pas sous Access 2007, pour réaliser la même chose avec la version 2007 il vous faut utiliser les API.
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
    (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
    ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub LaTextBox_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Me.ShortcutMenu = False
    If Button = acRightButton Then
        ShellExecute Me.hwnd, "open", "osk.exe", "", "", 1
    End If
End Sub
lien : faq Comment ouvrir un fichier HTML, Word, PDF ou autre en utilisant l'exécutable associé ?
lien : faq Que faire quand l'API ShellExecute ne fonctionne pas ?

precedent    sommaire      

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.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com