Skip to main content

AccessTr.neT


VB2008-Access otomatik sayı problemi

VB2008-Access otomatik sayı problemi

Çözüldü #1
Daha bir kaç günlük üyeyim. Herkese merhabalar.

Hazırlamaya çalıştığım teknik servis takip programında (buradan da bazı kodları kullanmıştım. Yayınlayan arkadaşlara teşekkürler) şöyle bir problemle karşılaşmaktayım. Müşteri kayıtlarını girerken benzersiz bir kayıt kullanmam gerekiyor (mecburen). Bunu da access'te birincil anahtar ile ve ilk alanı otomatik sayı yaparak hallettim ama veri tabanını çekip kayıtlar üzerinde işlem yapmaya çalıştığımda doğal olarak hata alıyorum. SiraNo ismini verdiğim değişkeni almadan okutmaya çalışıyorum verilen çekilemiyor, alıyorum bu sefer düzenleme veya başka bir işlem yaparken Access'in otomatik sayı tanımlı alanına vbsic değer göndermeye çalıştığı için farklı bir hata ile program çalışmayı durduruyor. Ama silme veya verileri textboxlara aktarmada bir problem yok.

Prpjeyi ekledim. Fikir verebilecek arkadaş varsa memnun olurum.
.rar Projects.rar (Dosya Boyutu: 275,9 KB | İndirme Sayısı: 21)
Son Düzenleme: 26/06/2013, 01:02, Düzenleyen: intercyber.
Cevapla
Çözüldü #2
(26/06/2013 01:00)intercyber Adlı Kullanıcıdan Alıntı: Projeyi ekledim. Fikir verebilecek arkadaş varsa memnun olurum.

Öncelikle
SiraNo alanın otomatik sayı olacak ve

"KAYDET" İşlemi böyle olacak sıra noyu bir textden eklemiyeceksin

Visual Basic Code
 Dim sql As New String("INSERT INTO serviskayitlari (sgiristrh,AdiSoyadi,Telefon,Parcatype,marka,problemtnm,sifre,garanti,tamamlandi,tamamtarih,tamamucreti,yapilanislem,garantiyegitti,ggidistrh,devamediyor,parcabekliyor,beklenenparca,ucretonaybekliyor,onaylanacakucret,belirlenenproblem,onayverilmedi,telefonulasilmadi) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}','{21}',)")
            sql = String.Format(sql, sgirisitarihi.Value, sadsoyad.Text, stel.Text, sparca.Text, smarka.Text, sproblem.Text, ssifre.Text, sgarantivarmi.Text, rb1, stamamtarih.Value, stamamucret.Text, yapilanisl.Text, rb2, sgarantigidistrh.Value, rb3, rb4, sparcabekad.Text, rb5, sucretonaymiktar.Text, sbelirlenenprb.Text, rb6, rb7)

"DÜZENLE" İşlemi böyle olabilir gerekli alanları sen tamamlarsın artık.

Visual Basic Code
Dim sql As New String("UPDATE serviskayitlari SET sgiristrh='{0}',AdiSoyadi='{1}',..............'WHERE SiraNo='{100}' ")
            sql = String.Format(sql, sgirisitarihi.Value, sadsoyad.Text,...................., DataGridView1.CurrentRow.Cells(0).Value)

Bu işini görür sanırım.
drummers, 11-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #3
Cevabınız için çok teşekkür ederim. SiraNo alanını kayıtlardan çıkarınca benzersiz alanımız da ortadan kalkmış olmayacak mı? Ben sorunumu tam olarak ifade edemediğim için böyle oldu galiba. Üretilen bu benzersiz kodları aynı zamanda servise gelen makinelere vereceğim. İşlemleri yaparken de ad/soyad yerine bu benzersiz kodlarla işlem yapacağım. Yani Arama işlemi Adsoyad değişkeni ile yapılacak belki ama silme düzenleme işlemlerini bu benzersiz koda göre yaptıracağım.

Şimdi aklıma başka bir fikir geldi. Şöyle yapsak; VB'de rastgele bir kod üretip bunu benzersiz alan olarak kullansak ve VT'ye kaydetsek de olur galiba. Ama üretilen kod aynı mantıkla üretileceği için nadir ya da düşük bir ihtimal de olsa belli zamanlarda aynı kodun üretilmesi söz konusu olabilir mi?

Bir konu da yardıma yine ihtiyacım var. VT'den çektiğim veriler ile birlikte veri veri alanlarının isimleri de datagrid'e eklenmekte. Ben bu kısımları kendim belirleyip (yani kolon isimlerini ben yazacağım) altlarına vt'den çektiğim ilgili verileri aktarabilir miyim. Yaklaşık olarak 13 yıl ara verdim. Herşey değişmiş. Eskiden yani vb6 ile bunları çok rahat yapabiliyordum. Şimdi bir türlü bulamadım.
Son Düzenleme: 26/06/2013, 16:51, Düzenleyen: intercyber.
Cevapla
Çözüldü #4
Tamam oldu. Çok teşekkür ederim
Son Düzenleme: 26/06/2013, 19:03, Düzenleyen: intercyber.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da