formdan veritabanına kayıtla ilgili?

Katılım
22 Haziran 2007
Mesajlar
29
Excel Vers. ve Dili
excel 7
merhaba arkadaşlar,
üzerinde çalıştığım bir projede kullanıcı ve admin için iki form oluşurdum. kullanıcı formunu farklı bilgisayarlardaki kullanıcılara sunup onların bilgilerini admine yoluycaz.
benim soracağım şey bu farklı bilgisayarlardan girilen verileri aynı database 'e nasıl yazdırazacağım.bütün mdb yi kopyalasak olmaz.ne yapabilirim ben?
ii çalışmalar herkese
 
Katılım
22 Haziran 2007
Mesajlar
29
Excel Vers. ve Dili
excel 7
en azıdan bunu access te yapıp yapamıyacagımı bilen var mı??
 
Katılım
5 Temmuz 2007
Mesajlar
5
Excel Vers. ve Dili
Office XP
Split Database komutuyla veritabanını 2ye böl, birinde tabloların diğerinde formlar ve sorgular olsun.
Daha sonra içinde formlar olan dosyayı açıp "link tables" komutuyla tabloların olduğu veritabanı dosyasından kullanacağın tabloları seçebilirsin.
İçinde formlar olan dosyayı bir çok bilgisayara kopyalayıp hepsini aynı veritabanı üzerinden eşzamanlı kullanabilirsin.
 
Katılım
22 Haziran 2007
Mesajlar
29
Excel Vers. ve Dili
excel 7
yardımlarınız için teşekkür ederim illede0.yaptım oldu
 
Katılım
27 Mayıs 2007
Mesajlar
149
Excel Vers. ve Dili
Türkçe
Çalışmanın açılış Formuna aşağıdaki kodu eklersen formun her açıldığında bağlı tabloları arar. Bulamaz ise yerini sorar. Ağda tabloları paylaştırırsan bence çok faydalı olur.

Option Compare Database
Option Explicit
Public x As Integer
Private Sub Form_Open(Cancel As Integer)
DoCmd.Hourglass True
If LinkTables Then
'açılış formundan sonra parola formu
DoCmd.OpenForm "KULLANICIGİRİŞ"
DoCmd.GoToControl "KULLANICIADI"

Else
Cancel = True
DoCmd.Quit
End If


DoCmd.Hourglass False

End Sub

Function LinkTables()
On Error GoTo LinkTables_Err:
Dim objFileDialog As FileDialog
Dim strFileName As String
'bağlantıları kontrol et
If Not VerifyLink Then
'bağlantılarda sorun varsa, güncel klasörde varsayılan dosya adıyla bağlantı kurmayı dene
If Not ReLink(CurrentProject.FullName, True) Then
'işlem hala başarılı değilse, kullanıcının verileri içeren veritabanını bulmasına izin ver
MsgBox "Programın çalışabilmesi için bağlı tabloları tanımalıdır." & vbCrLf & "Tablolar, 'DATA.mdb' dosyasında bulunmaktadır. "

Set objFileDialog = Application.FileDialog(msoFileDialogOpen)
With objFileDialog
.Show
.AllowMultiSelect = False
strFileName = .SelectedItems(1)
End With
'kullanıcının seçtiği veritabanıyla tekrar bağlantı kurmayı dene
If Not ReLink(strFileName, False) Then
'hala işlem başarılı değilse, kullanıcıya bir mesaj görüntüle ve bu rutinden False değerini gönder
MsgBox "Bu Uygulamayı Bağlı Tabloları Bulmadan Çalıştıramazsınız"
LinkTables = False
Else
'Kullanıcı başarılı biçimde yeni konumu belirtmiştir; True değeri gönder
LinkTables = True
End If
Else
'Verileri içeren veritabanı uygulama veritabanıyla aynı konumda varsayılan isimle bulunmuştur
'True değerini gönder
LinkTables = True
End If
Else
'Tablo bağlantıları geçerlidir; True değeri gönder
LinkTables = True
End If
Exit Function
LinkTables_Err:
MsgBox "Program Kapatılıyor."
Exit Function
End Function
Function VerifyLink() As Boolean
'Verify connection information in linked tables.

Dim cat As ADOX.Catalog
Dim tdf As ADOX.Table
Dim strTemp As String

Set cat = New ADOX.Catalog

With cat
Set .ActiveConnection = CurrentProject.Connection

On Error Resume Next

For Each tdf In .Tables

If tdf.Type = "LINK" Then
strTemp = tdf.Columns(0).Name
Exit For
End If

Next tdf


End With

VerifyLink = (Err.Number = 0)

End Function


Function ReLink(strDir As String, DefaultData As Boolean) _
As Boolean

Dim cat As ADOX.Catalog
Dim tdfRelink As ADOX.Table
Dim oDBInfo As DBInfo
Dim strPath As String
Dim strName As String
Dim intCounter As Integer
Dim vntStatus As Variant


vntStatus = SysCmd(acSysCmdSetStatus, "Updating Links")

Set cat = New ADOX.Catalog
Set oDBInfo = New DBInfo

With cat
.ActiveConnection = CurrentProject.Connection
oDBInfo.FullName = strDir
strPath = oDBInfo.FilePathOnly
strName = Left(oDBInfo.fileName, InStr(oDBInfo.fileName, ".") - 1)

On Error Resume Next
Call SysCmd(acSysCmdInitMeter, "Linking Data Tables", .Tables.Count)

For Each tdfRelink In .Tables
intCounter = intCounter + 1
Call SysCmd(acSysCmdUpdateMeter, intCounter)
If .Tables(tdfRelink.Name).Type = "LINK" Then
tdfRelink.Properties("Jet OLEDB:Link Datasource") = strPath & strName & IIf(DefaultData, "Data.Mdb", ".mdb")
End If
If Err.Number Then
Exit For
End If
Next tdfRelink
End With

Call SysCmd(acSysCmdRemoveMeter)

vntStatus = SysCmd(acSysCmdClearStatus)

ReLink = (Err = 0)

End Function
 
Üst