- Katılım
- 2 Mart 2005
- Mesajlar
- 2,960
- Excel Vers. ve Dili
- ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
xlsx uzantılı excel dosyalarını veritabanı olarak kullanma nasıl olmalıdır?
xls uzantılıar için bunu kulklanıyorum ama veri tabanın 65000 limitini taşabilme ihtimaline karşı ve öğrenmek için xlsx istiyorum.
xls uzantılıar için bunu kulklanıyorum ama veri tabanın 65000 limitini taşabilme ihtimaline karşı ve öğrenmek için xlsx istiyorum.
Kod:
Sub sbNFSKYTAL() '(tcno)
boolIPTAL = False
'NUFUS KAYITLARINI AL
Dim Baglanti As ADODB.Connection 'ADODB bağlantı değişkeni tanımla
Dim Kayit1 As ADODB.Recordset 'ADODB kayıt alan değişkeni tanımla
Dim intKayNo As Integer 'Kaynak Dosya Numarası
Dim sayfaadi$, SQLStr$, sorgu$, basliklar$
' Dim tKMLK As hsr_KMLKveri
'›››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››››
intKayNo = 1
KaynakSec:
Select Case intKayNo
'Kaynak olarak bu kitabın olduğu klasörde veri tabanı belirt
Case Is = 1: strVTTCK = "C:\VT\vttc0709.xls"
' Case Is = 2: strVTTCK = "C:\VT\vttc2007.xls"
End Select
'\ Seçilen kaynak mevcut mu?
If Dir(strVTTCK) = "" Then
MsgBox strVTTCK & " " & Chr(10) & " Dosyası Bulunamadı.", vbInformation, "Bilgi"
Exit Sub
End If
'Sorgulanacak başlıkları ve sorgulanacak kriteri yaz
basliklar = "TCKİMLİKNO, C, ADI, SOYADI, ANNEADI, BABAADI, DOGUMYERİ, DOGUMTARİHİ, "
basliklar = basliklar & "NFS_MHKY, NFS_ILCE, NFS_IL, "
basliklar = basliklar & "ADR_BLD, ADR_MUHTAR, ADR_ILCE, ADR_IL, ADR_CD_SKK, ADR_KNO, ADR_DNO"
sayfaadi = "[data$] "
sorgu = "TCKİMLİKNO = " & VatNo
SQLStr = "SELECT " & basliklar & " FROM " & sayfaadi & " WHERE " & sorgu
'\ Bağlantıyı Kur
Set Baglanti = CreateObject("ADODB.Connection")
With Baglanti
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Properties("Data Source").Value = strVTTCK
.CursorLocation = adUseServer
.Mode = adModeReadWrite
.Open
End With
If Err = 0 Then 'eğer bağlantıda hata yoksa
Set Kayit1 = CreateObject("ADODB.Recordset") 'kayıt bağlantısını kur
With Kayit1
.ActiveConnection = Baglanti
.CursorLocation = adUseServer
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Source = SQLStr
.Open
End With
'***********************************************************************
If Kayit1.RecordCount = 1 Then '1 adet kayıt bulundu ise
With tKMLK
If Kayit1("C") <> "" Then .tCINS = Kayit1("C")
If Kayit1("ADI") <> "" Then .tADI = Kayit1("ADI")
If Kayit1("SOYADI") <> "" Then .tSYD = Kayit1("SOYADI")
If Kayit1("BABAADI") <> "" Then .tBAD = Kayit1("BABAADI")
If Kayit1("ANNEADI") <> "" Then .tAAD = Kayit1("ANNEADI")
If Kayit1("DOGUMYERİ") <> "" Then .tDYR = Kayit1("DOGUMYERİ")
If Kayit1("DOGUMTARİHİ") <> "" Then .tDTR = Format(Kayit1("DOGUMTARİHİ"), "DD/MM/YYYY")
'Nüfusa Kayıtlı Olduğu
If Kayit1("NFS_IL") <> "" Then .tNIL = Kayit1("NFS_IL")
If Kayit1("NFS_ILCE") <> "" Then .tNILC = Kayit1("NFS_ILCE")
If Kayit1("NFS_MHKY") <> "" Then .tNMK = Kayit1("NFS_MHKY")
'Adres Bilgileri
If Kayit1("ADR_IL") <> "" Then .tAIL = Kayit1("ADR_IL")
If Kayit1("ADR_ILCE") <> "" Then .tAILC = Kayit1("ADR_ILCE")
If Kayit1("ADR_BLD") <> "" Then .tABLD = Kayit1("ADR_BLD")
If Kayit1("ADR_MUHTAR") <> "" Then .tAMK = Kayit1("ADR_MUHTAR")
If Kayit1("ADR_CD_SKK") <> "" Then .tACS = Kayit1("ADR_CD_SKK")
If Kayit1("ADR_KNO") <> "" Then .tAKN = Kayit1("ADR_KNO")
If Kayit1("ADR_DNO") <> "" Then .tADN = Kayit1("ADR_DNO")
End With
Call Sayfa2.sbNFSKYTYAZ(tKMLK)
Else 'aranan veritabanında kayıt yoksa
If intKayNo <= 1 Then ' diğer veritabanına bak
intKayNo = intKayNo + 1
GoTo KaynakSec
Else 'onlarda da yoksa
MsgBox VatNo & " Kimlik Numaralı kayıt Bulunamadı.", vbInformation, "Bilgi" 'uyarı ver
boolIPTAL = True
HSR_TCVGF.sbVttestcagır (VatNo) 've son kontrol edilen veritabanına veriyi eklemek için form çağır.
End If
End If
Else 'bağlantıda hata varsa
sonNFS:
MsgBox "Bağlantı Hatası.Kontrol Ediniz", vbInformation, "Bilgi" 'uayrı ver
End If
'\ Bağlantıyı kapat
If CBool(Kayit1.State And adStateOpen) = True Then Kayit1.Close '?
Set Kayit1 = Nothing 'değişkeni hafızadan sil
If CBool(Baglanti.State And adStateOpen) = True Then Baglanti.Close '?
Set Baglanti = Nothing 'değişkeni hafızadan sil
End Sub
'Hs®yaz
