Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Access vers visual studio

1 réponse
Avatar
Marie-Claire
Bonjour
J’ai une base créée sur Access 2003 qui fonctionne très bien depuis des
années, configuration plusieurs frontales et 4 bases de tables dans un disque
dur externe, le tout lié.

Mais voila , on me demande de refaire la même chose sur du Visual.

J’ai migré les tables dans une base SQL, pas de problèmes.
J’ai installé Visual Basic 2008 Express et j’aimerais savoir s’il existe
une liste des correspondances entre VBA Access et Vb, savoir s’il faut
travailler avec des Macros, des Modules comme dans Access, si l’on peu créer
des états pour les impressions.

Je suis coincée pour des choses aussi simples que voici :


DoCmd.OpenForm "FormX"
DoCmd.Close acForm, "MonForm"

NOM.SetFocus

Me.Refresh
DoCmd.Close acForm, "MonForm"
----------------------------------------------


DoCmd.ShowAllRecords


Private Sub Bouton84_Click()
On Error GoTo finerrfnul:
If IsNull(NOM) Then
msgbox "LE NOM NE PEUT ETRE VIDE!CORRIGEZ OU DETRUISEZ CETTE FICHE"
Exit Sub
End If
DoCmd.OpenForm "FormX"
finerrfnul:
DoCmd.ShowAllRecords
errfnul:
msgbox "Erreur de manipulation"
Resume finerrfnul

End Sub


DoCmd.OpenReport "MonEtat", acViewPreview

DoCmd.OpenReport "MonEtat1", acNormal, ,
"[nom]=[forms]![IMPRESSIONS]![Texte1] or
[Prenom]=[forms]![IMPRESSIONS]![Texte1] and
[TexteB]=[Formulaires]![Forml].[utilisateur]"

Dim X As Integer
X = msgbox("Voulez-vous aussi imprimer l’Etat suivant", vbYesNo + vbQuestion)
If X = vbNo Then Exit Sub

Si l’on peut utiliser de commandes avec des modules comme par exemple
---------------------------------------
Private Sub Cmd_mail_Click()
fIsOutlookRunning
Dim X
X = fHandleFile("mailto:" & Me![E-MAIL], WIN_NORMAL)

End Sub
-------------------------
------------------------------
Private Sub Lien_Click()

getdir = SelectFolder("Sélection classique d'un dossier", WithNetworkFolders)
If Len(getdir) = 0 Then Exit Sub 'user selected cancel
Lien_dossier1 = getdir

End Sub
Private Sub Ouvrir_lien_Click()
DoCmd.SetWarnings False
On Error GoTo ERR_Ouvrir_lien
' getdir = BrowseForFolder(Me, "Select A Directory", Lien_dossier1)
' If Len(getdir) = 0 Then Exit Sub 'user selected cancel
' Lien_dossier1 = getdir
'Variable_string = OpenFile([Lien_dossier1] [1,] [, <Type de fenêtre>] [,
<Type de fichier>] [, <KbBufferLength>] [, <WithPath>)
'Me.Lien_dossier1 = OpenFile(CurrentProject.path, Multi_Sélection, True,
MSOffice, 12, False)
'msgbox "il y a " & nOpenFile & " fichiers sélectionnés"
Dim Réponse As Variant
Dim Variable_string As String
Variable_string = OpenFile(Lien_dossier1, Multi_Sélection, True, MSOffice,
12, True)
Réponse = OpenFileExtend(Variable_string, , OpExecute)

Exit_Ouvrir_lien:
Exit Sub
ERR_Ouvrir_lien:
msgbox "Il n'existe aucun lien@Veuillez en créer un@"
Resume Exit_Ouvrir_lien
DoCmd.SetWarnings True

End Sub

Avec modules :
-------------------------------------------------
Option Compare Database
Option Explicit

Private Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
Public Enum Network
WithNetworkFolders = 0
WithoutNetworkFolders = 2
End Enum
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias
"SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias
"SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Const BIF_RETURNONLYFSDIRS = &H1
Const BIF_USENEWUI = &H40

------------------------------------------

Public Function SelectFolder(Optional Folder As String = "", Optional
NetworkFolders As Network = WithNetworkFolders) As String
Dim X As Long, bi As BROWSEINFO, dwIList As Long
Dim szPath As String, wPos As Integer
If Folder = "" Then Folder = CurrentProject.path
With bi
.hOwner = hWndAccessApp
.lpszTitle = "Sélectionnez votre dossier et cliquez sur OK" & vbCrLf
& Folder
.ulFlags = BIF_RETURNONLYFSDIRS Or BIF_USENEWUI Or NetworkFolders
End With
dwIList = SHBrowseForFolder(bi)
szPath = Folder & Space$(512 - Len(Folder))
X = SHGetPathFromIDList(ByVal dwIList, ByVal szPath)
If X Then
wPos = InStr(szPath, Chr(0))
SelectFolder = Left$(szPath, wPos - 1)
Else
SelectFolder = ""
End If
End Function



Private Sub fermer_Click()

FormsClose

End Sub

Module :

Public Function FormsClose() As Boolean

Dim Frm As AccessObject
For Each Frm In CurrentProject.AllForms
If Frm.IsLoaded Then
If Frm.Name <> "Menu General" Then
DoCmd.Close acForm, Frm.Name
End If
End If
Next Frm
Forms![MENU GENERAL].SetFocus

End Function


S’il faut déclarer des références.


Je vous remercie infiniment pour votre précieuse aide.


--
Marie-Claire
--
Marie-Claire

1 réponse

Avatar
3stone
Bonjour,

Marie-Claire wrote:
[...]
Mais voila , on me demande de refaire la même chose sur du Visual.




Si tu ne connais pas Visual, le "on" devra patienter un long moment
pour que tu aies eu le temps de te former... ;-))

Si tu cherches de l'aide, c'est plutôt sur le NG Visual que tu la trouvera,
mais il faudra que tu fasse une partie du chemin.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)