Ado , Access Vtye Excel'ler ile veri girişi

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhabalar.
Access'ten bir tane veri tabanı oluşturucam.3-4 excel ile ve ado kullanarak vt ye veri girişi,güncelleme ve silme ve okuma yapacam.
Excellerde ayni kodlar olacak.Mesela bir excel dosyasında çoklu kullanıcı , vba kullanıldığında veri girişi yapamıyor.
Ben yukarıda söylediğim gibi vt olarak Access kullanırsam sorun çıkarmı veri girişi yapabilecemmi?
Key ve Lock ne olmalı?
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,391
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Merhaba Evren Bey. İlk olarak Excel dosyasını veritabanı olarak kullanmayı unutmalı, bu iş için hazırlanmış dosyaları kullanmalıyız. MS Acces, bu iş için uygun.

Bir tablo, "select" dışındaki komutlar yürütüldüğünde kilitlenir, (Sql server'daki nolock hariç) bitince açılır. Bir Recordset, "select" ile açıldığına göre diğer kullanıcılar için kısıtlama olmaz. Ta ki, edit moduna geçene kadar. Burada kilit tipi "optimistic" ise update yürütülene kadar tablo düzeyinde kilitleme olur. "Pessimistic" kullanırsanız "satır" düzeyinde kilitleme olur.

Bu arada Firebird askıya alındı galiba. ;)
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Teşekkür ederim hocam.
Peki kilitlenme anında başka bir dosya ile ayni işlem yapılıyor ise ne olur?
Not: vt için Access kullanıcam.
Hocam SQL menejer dosyasını iyi kullanamıyorum.
Firebird kullacaksam bu SQLmenejer konusunuda iyi bilmem lazım.
Şimdilik dondurdum.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,391
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Birincisi, genelde toplu güncelleme/toplu insert gibi uzun sürecek komut pek kullanılmaz. Yani kilitli anına denk gelmesi düşük olasılık.
İkincisi, kullanıcılar çok yoğun şekilde tablo üzerinde çalışmayacaktır. Yani bu da düşük bir olasılıktır.
Sql server sistemlerde transaction wait olduğu için zaman aşımı dolana kadar error dönmez. Yani kilit açılana kadar (zaman aşımı boyunca) bekler.
Ancak Access' te böyle birşey yok bildiğim kadarıyla. Denk gelirse direkt error penceresi görürsünüz.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Teşekkür ederim hocam.
Peki Acess vt kullanıcağız.Böyle error oluşması durumda ne yapılmasını önerirsiniz?
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,391
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Böyle bir çakışma hatasıyla karşılaşmadım. Hata numarasını bilsek kontrol etmek daha kolay olurdu.
Ben böyle bir durumda olsam Timer kullanarak Err = 0 olana kadar 10 saniye boyunca işlemi döngü ile tekrarlatırdım. İdeal bir çözüm olmayabilir ama aklıma ilk gelen yöntem bu.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Anladım hocam.Bunun için (Döngü) için örnek kod yazabilirmisiniz?
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,391
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Şunun gibi birşey olabilir:
PHP:
on error resume next
dim b as boolean
t = timer
do while timer < t +10
  err.clear
  cn.execute "..."
  if err.number = 0 then     
     b = true
     exit do
  end if
loop

if b = false then msgbox "Sql başarılı olamadı"
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Teşekkür ederim hocam.
İyi geceler.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,391
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Size de iyi geceler, kolay gelsin.
 
Üst