• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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

  • Konbuyu başlatan Konbuyu başlatan Orion1
  • Başlangıç tarihi Başlangıç tarihi

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
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ı?
 
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. ;)
 
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.
 
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.
 
Teşekkür ederim hocam.
Peki Acess vt kullanıcağız.Böyle error oluşması durumda ne yapılmasını önerirsiniz?
 
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.
 
Anladım hocam.Bunun için (Döngü) için örnek kod yazabilirmisiniz?
 
Ş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ı"
 
Teşekkür ederim hocam.
İyi geceler.
 
Size de iyi geceler, kolay gelsin.
 
Geri
Üst