access sql bağlantı...
Tarih
12/03/2010 11:29
Konu Sahibi
omur46
Yorumlar
3
Okunma
2876
Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 5/5 - 1 oy



omur46
Üye
Kullanici Avatari
Üye
9
2
11/03/2010
0
İstanbul
Ofis 2003
10/08/2010,21:18
S.a accesstr Ahalisi aranızda yeniyim...
öncelikle sizlere birkaç soru sormak istiyorum Access de formları hazırlayıp bu formlarıda sql,de bir yada birkaçtane farklı veritabanına göndermek mümkünmüdür... örnegin bilgisayarımda mikro kurulu ve bunun veritabanı Sql birde ben kendi formlarım için bi Sql veritabanı acıyorum ve hazırladıgım formlardan bir yada birkactanesini kendi Sql veritabanıma diğerlerinide mikronun Sql veritabanına atmam mümkünmüdür ...?
"Görünenle yetinirsen eğer sadece tırtılı bilirsin. Çirkindir ya tırtıl, gönlünü çelmez. Görünenin ötesine geçmek istersen eğer, aradan örtüyü kaldırıp da gönül gözü ile bakarsan, kelebeği bulursun karşında. Güzeldir ya kelebek, gönlün ona akar. Lakin gönül gözünle görürsen eğer, kelebeğe değil tırtıla sevdalanırsın."[/align]
Cevapla


omur46
Üye
Kullanici Avatari
Üye
9
2
11/03/2010
0
İstanbul
Ofis 2003
10/08/2010,21:18
Arkadaşlar öncelikle konuyu yanlış yere açmış olduğumu yeni fark ettim çok özür dileyerekden konunun taşınmasını talep ediyorum...
İnternetten araştırtığım kadarıyla sanırım dediğim gibi bir bağlantı yapmak mükün gibi görünüyor...
hatta internette buluduğum bir yazıyı sizlerede sunuyorum...
Merhaba Access severler;

Bu konumuzda MS Access ile MS Sql Server arasında ADO kullanarak bağlantı yapmaya çalışacağız. Sql Server ister yerel, ister uzak olsun sadece Connection String üzerinde yapacağınız değişikliklerle bağlantıyı sağlayabilirsiniz. Biz örneğimizde Sql Server üzerinde yetkimiz olan veritabanı üzerinde uzak bağlantı deneyeceğiz.
Peki neden Sql Server’a bağlantı ihtiyaca duyalım(?) diyebilirsiniz.

Sql Server ve Oracle bilinen en güçlü veritabanı sistemleridir. Bunların yanında Mysql, Firebird gibi yine oldukça etkili veritabanı sistemleri vardır. Bu arada yeri gelmişken, hayatlarında Oracle görmemiş ya da üzerinde 2 sorgu yazmamış insanların “Oracle en iyisidir “ demelerine hayret ediyorum. Bu iki güçlü veritabanı sisteminin birbirine göre üstün ya da zayıf özellikleri vardır. Merak edenler için bunları bulmak zor olmasa gerek. Her neyse konumuzdan uzaklaşmayalım. Neden Sql Server’a bağlanalım diyorduk..

Access i gerçekten veritabanı amacıyla kullanan herkesin tek beklentisi verilerini en sağlıklı, en güvenli şekilde tutabilmektir. Tablo ve diğer nesneleri aynı mdb, mde içinde tutuyorsak potansiyel risk çok fazladır. Uygulamamız çökebilir ve tablolarımıza elveda diyebiliriz. Tabloları ayrı bir vt de tutuyorsak elbette çok daha sağlıklıdır ama biz çok daha fazlasını istiyoruz. Uygulamamızı MDE yapsak bile tablolar, sorgular, macrolar alenen açıktadır.
Tablolar, sorgular uygulama içinde görünmesin, bağlı tablo yöntemini de kullanmak istemiyorsanız artık başlayabiliriz. Diğer istek ve arzularımıza yeri geldikçe değineceğiz Wink
Sql Server üzerindeki veritabanımızda “Personel” isimli tablomuz vardır. Bu tabloda “id, Ad, Soyad, GirisTarihi, DogumTarihi, Maas” alanlarımız vardır ve şu an için toplam “2.200” adet kayıt mevcuttur. Kayıt sayısını bilerek az tuttum ki malum ülkemizde internet hızlarında hala sıkıntı yaşamaktayız.
Access dosyamızı açalım ve “Sql_Server_Tablo” isminde bir form yapalım. Bu forma Sql Server de bulunan alanlarımızı sürekli form şeklinde koyalım. Artık ister formun açılışına ister bir düğmeye yazacağımız kodlarla verileri bu formumuza çağırabiliriz. Örnekte de göreceğiniz üzere ben düğme ile çağırdım.
Şimdi kodumuza bakalım.

Vba Kodu

Dim cn As ADODB.Connection
Dim rst As New ADODB.Recordset
Set cn = New ADODB.Connection
cn.ConnectionString = "driver={SQL Server};" & _
"server=Server_ip_Adresi;uid=Kullanici_İsmi;pwd=Şifre;database=Veritabanı_İsmi"
On Error Resume Next
cn.Open
If cn.State = adStateOpen Then
'MsgBox ("Baglantı Kuruldu...")
rst.CursorLocation = adUseClient
rst.Open "personel", cn, adOpenKeyset, adLockOptimistic

Set Me.Recordset = rst
Me.KaySay = vbCrLf & " Toplam -- " & rst.Recor DCount & " -- Kayıt Bulundu." & vbCrLf & _
" Veriler Sql server üzerinde -Personel- Tablosundan alınmıştır." & vbCrLf & vbCrLf & vbCrLf & vbCrLf & _
" beab05"
Else
MsgBox ("Bağlantı Kurulamıyor!!")
End If
rst.Close
cn.Close
Set rst = Nothing
Set cn = Nothing




Gördüğünüz gibi Sql Server da bulunan “personel” tablosuna ait kayıtların tümünü kolayca aldık. Üstelik bu kayıtlar üzerinde ekleme, silme, güncelleme yapabilmekteyiz ve bu güncellemeler aynen Sql Server üzerindeki tablomuza kaydedilebilmektedir ama ben veri değişikliği izinlerini iptal ettim. Biri çıkıp tüm kayıtları silebilir yoksa Wink
Kayıtları çok basitçe aldık, 1 Mbs internet hızımla 2.200 kayıt bende 1-3 saniyede gelmektedir, üstelik ortalıkta görünen tablo ve sorgu da yoktur. Formunuza ait kayıt kaynağı olarak yine Sql Server da yaratacağınız bir view ( sorgu diyebiliriz) i de kaynak olarak gösterebilirsiniz ama tabii yaptığınız view in yapısına göre kayıt değişiklikleri yapmanıza engel olabilir ki bu durum Access te yaratacağınız sorgu yapısında da aynıdır. Örneğin gruplanmış bir sorgu sonucunu kaynak alırsanız formunuz elbette sadece okunur olacaktır..
Bir dahaki çalışmada Stored Procedures ( konusu içinde Stored Procedures hakkında kısa bilgi verilecektir) üzerinden veri almaya değineceğiz.

yazı Berkant Öztürk aittir..

benim anladığım kadarıyla accessde ikitane veritabanı bağlantısı yapip istedigim bilgiler mikronun veritabanına kalan bilgileride kendi veritabanıma göndermem gerekiyor
"Görünenle yetinirsen eğer sadece tırtılı bilirsin. Çirkindir ya tırtıl, gönlünü çelmez. Görünenin ötesine geçmek istersen eğer, aradan örtüyü kaldırıp da gönül gözü ile bakarsan, kelebeği bulursun karşında. Güzeldir ya kelebek, gönlün ona akar. Lakin gönül gözünle görürsen eğer, kelebeğe değil tırtıla sevdalanırsın."[/align]
Cevapla


emturker
- Murat -
Kullanici Avatari
Uzman
M....
1.245
30/10/2008
775
İstanbul
Ofis 2010 32 Bit
Dün,08:54
sn.omur46 Konuyu Sql Bölümüne Taşınmıştır.
Sql Bilgisi Olan Arkadaşlar En Kısa Sürede Sorunuza Cevap Vereceklerdir.
Saygılar.
Application Engineer
Cevapla


omur46
Üye
Kullanici Avatari
Üye
9
2
11/03/2010
0
İstanbul
Ofis 2003
10/08/2010,21:18
ilginiz için..Tşkler emturker
"Görünenle yetinirsen eğer sadece tırtılı bilirsin. Çirkindir ya tırtıl, gönlünü çelmez. Görünenin ötesine geçmek istersen eğer, aradan örtüyü kaldırıp da gönül gözü ile bakarsan, kelebeği bulursun karşında. Güzeldir ya kelebek, gönlün ona akar. Lakin gönül gözünle görürsen eğer, kelebeğe değil tırtıla sevdalanırsın."[/align]
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi



Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya