Sırayla gidelim
1. Arzu ettiğiniz yöntem mantıklıdır. Ancak ağ üzerinde herkesin bu dokümanı
açmasını istiyorsanız elbette ilk adreslemeyi herkesin ağ üzerinden erişebileceği - paylaşılmış -
bir konumda yapmalısınz ( yani bağlanacak belgeler öncelikle erşilebilir
bir konuma kopyalanmalı, bu sağlıklı yedek almak açısından da faydalı olacaktır )
a. personel kartları tablosuna bir alan ekleyin ve türüne "Köprü" - Hyperlink verin (adına ör : [belge] diyelim)
b. personel formu üzerine bu alanı ekleyin
c. alanın yanına bir buton ekleyin ve on click özelliğine
Kod:
On Error GoTo ErrEditHyper
Me.belge.SetFocus
DoCmd.RunCommand acCmdEditHyperlink
Exit Sub
ErrEditHyper:
Select Case err
Case 2046
Resume Next
Case 2501
Resume Next
Case Else
Resume Next
End Select
d. Açılan diyakog kutusundan bağlamak istediğiniz
belgeyi ağ üzerindeki konumundan seçin
e. Belgenin yolu tablonuza kayıt olacak ve tıklandığında word belgesini açacaktır. Burada eklenen belgenin türünün hiçbir önemi yoktur ( xls, txt, jpg, mpeg, vs eklenen belgeyi açabilecek yazılım bilgisayarınızda kurulu olduğu durumda tıklanan belge uzantısı ile ilintili uygulamayı zaten açacaktır, aynen bir kısayola çift tıklanması gibi )
ÖNEMLİ NOT : Bir personele birden fazla belge bağlayacaksanız, "a" şıkkında belirtilen alan ekleme yetersizdir. BELGELER adında bir tablo yaratıp bu tabloya PERSONEL_ID alanı ekleyip BELGELER.PERSONEL_ID = PERSONEL.PERSONEL_ID bağlantısıyla sınırsız belge ekleyebilirsiniz
2. Klasör erişimi için hocalarımızın verdiği bir modül
var, aşağıdaki kodu yeni modül açıp kayıt edin
Kod:
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
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
Private Const BIF_RETURNONLYFSDIRS = &H1
Public Function BrowseDirectory(szDialogTitle As String) As String
On Error GoTo Err_BrowseDirectory
Dim X As Long, bi As BROWSEINFO, dwIList As Long
Dim szPath As String, wPos As Integer
With bi
.hOwner = hWndAccessApp
.lpszTitle = szDialogTitle
.ulFlags = BIF_RETURNONLYFSDIRS
End With
dwIList = SHBrowseForFolder(bi)
szPath = Space$(512)
X = SHGetPathFromIDList(ByVal dwIList, ByVal szPath)
If X Then
wPos = InStr(szPath, Chr(0))
BrowseDirectory = Left$(szPath, wPos - 1)
Else
BrowseDirectory = ""
End If
Exit_BrowseDirectory:
Exit Function
Err_BrowseDirectory:
MsgBox err.Number & " - " & err.Description
Resume Exit_BrowseDirectory
End Function
Public Function TestOpeningDirectory()
On Error GoTo Err_TestOpeningDirectory
Dim sDirectoryName As String
sDirectoryName = BrowseDirectory("Find and select where to export the Excel report files.")
If sDirectoryName <> "" Then MsgBox "You selected the '" & sDirectoryName & "' directory.", vbInformation
Exit_TestOpeningDirectory:
Exit Function
Err_TestOpeningDirectory:
MsgBox err.Number & " - " & err.Description
Resume Exit_TestOpeningDirectory
End Function
Form üzerinde bir alan ( ör : [secilenklasor] )ve bir buton yaratın ve on click özelliğine aşağıdaki kodu girin
Kod:
Dim sDirectoryName As String
sDirectoryName = BrowseDirectory("Lütfen rapor klasörü seçiniz.")
me.secilenklasor = sDirectoryName
Elbette bu klasor bilgisini saklamak istiyorsanız ilk örnekte olduğu
gibi bu alanı bir tabloda öncelikle oluşturmalısınız
ÖNEMLİ NOT: Bu ikinci isteğiniz ilk isteğinizle bağlantılıysa bilmelisiniz ki
hyperlink bağlantıda ağ üzerindeki tam adres ( sürücü, klasör, alt klasör )
zaten kayıt altına alınmaktadır.
3. Ağ üzerinden paylaşım için
a. veritabanını bölün, tabloları bağlı tablo haline getirin
b. tabloları içeren mdb dosyasını ağ üzerinde herkesin erişebileceği
bir konuma taşıyın
c. Bölünmüş diğer mdb dosyasını ( buna arayüz diyelim ) açın ve bağlı
tablo yöneticisini açarak tablolarınızı yeni konumundan bağlayın
d. Bu master arayüzü diğer kullanıcılara kopyalayarak verin
Basit bir uygulamanızı eklerseniz
bölüp geri gönderebilirim ama yapması çok kolay
Kolay gelsin
okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.