• DİKKAT

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

aynı kayıt varsa uyarsın

Katılım
10 Nisan 2008
Mesajlar
394
Excel Vers. ve Dili
EXCEL 2003 TÜRKÇE
selamlar

exceli veri tabanı olarak kullanmaktaydım fakat işlemler yavaş ve sıkıntılı

olduğundan accesse geçtim kaydetme silme ve değiştirmede sorunum yok

fakat veri tabanında aynı kayıt olursa beni uyarması gerekiyor tıpkı excelde olduğu gibi

isimleri tarayıp aynı kayıtta bir isim olursa msgBox "Bu isimde bir kaydınız var"

demeli internetten çok aradım bulamadım

ne biri sormuş nede bir örnek var uzman arkadaşlarda ricam yardımcı olurlarsa

sevinirim

saygılar
 
sayın uzman arkadaşlardan ricam bu konuya bir el atsalar

bir örnek dosya bir fikir olrsa devamını ben getiririm rkadaşlar

kaydetmede kullandığım kodlar


KOD = "'" & TextBox2 & "'"
isim = "'" & TextBox3 & "'"
mahalle = "'" & TextBox4 & "'"
cadde = "'" & TextBox5 & "'"
sokak = "'" & TextBox6 & "'"
apt = "'" & TextBox7 & "'"
kat = "'" & TextBox8 & "'"
kapı_no = "'" & TextBox9 & "'"
tel_ev = "'" & TextBox10 & "'"
tel_iş = "'" & TextBox11 & "'"
gsm = "'" & TextBox12 & "'"
NOTLAR = "'" & TextBox13 & "'"

Call baglanti
Set rs = baglan.Execute("INSERT INTO MUSTERİ_REHBERİ (KODU,İSİM,MAHALLE,CADDE,SOKAK,APT,KAT,KAPI_NO,TEL_EV,TEL_İŞ,GSM,NOTLAR) Values (" & KOD & "," & isim & "," & mahalle & "," & cadde & "," & sokak & "," & apt & "," & kat & "," & kapı_no & "," & tel_ev & "," & tel_iş & "," & gsm & "," & NOTLAR & ")")

Set baglan = Nothing: Set rs = Nothing:
listeye_al
Application.ScreenUpdating = True
'ilerleme çubuğunu çalıştır
On Error Resume Next
ProgressBar1.Visible = True
For i = 1 To 10000
ProgressBar1 = i / 10000 * 260
Next
'ilerleme çubuğunu gizle
ProgressBar1.Visible = False

MsgBox "İŞLEM TAMAM.", vbInformation + vbOKOnly, "AYDIN YAPI"
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
TextBox13.Text = ""

Label13.Caption = "TOPLAM KAYIT " & ListBox1.ListCount
End Sub
 
Aşağıdaki gibi denermisiniz.
Bağlantıları açtıktan sonra
Kod:
 Dim KayitSay As long
        CMD1 =  ("select count(ısım) from BUTCE where = '" & textbox3.text & "'", baglan)
        KayitSay = CMD1.ExecuteScalar()
        If KayitSay > 0 Then msgbox
                "Bu kayıt var":exit sub:end if
 
Sanırım yukarıdaki cevabım olmadı.
Ama aşağıda verdiğim cevapı denedim oluyor.Bağlantıdaki yolları ve dosya ismini kendinize uyarlayınız.:cool:
Kod:
Dim Baglan As New ADODB.Connection
Dim KS As New ADODB.Recordset
Dim isim As String
isim = "'" & TextBox3 & "'"
Set Baglan = New ADODB.Connection
Baglan.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & "C:\Evren\Kullandığım programlar\VBNET-2005\Kalori Cetveli\Kalori_cetveli_mdb.mdb"
Set KS = New ADODB.Recordset
KS.Open "SELECT İSİM FROM [MUSTERİ_REHBERİ] Where İSİM = '" & isim & "'", Baglan, adOpenStatic, adLockOptimistic
MsgBox KS.RecordCount
Baglan.Close
Set KS = Nothing
 
sayın evren bey

iki kodda olmadı

excelin sayfasında arama yaptığımız gibi kaydet butonunda kayıt yapılacak textlerden önceye

yazıyorum hata veriyor

bu kodlara çok ihtiyacım var yardımcı olabilirseniz sevinirim

saygılar
 
VBE'de Tools==>referanslardan,
MicrosoftActivexDataObjects 2.x library işaretlimi bakın.İşareti yoksa seçip işaretleyin.
Son yazdığım kod bende sorunsuz çalışıyordu.Birde yolu ve dosyayı ve tabloyu kendi nize göre uyarlayın.
Yada yolu alanı sorgulunacak nesnenin ismini bana verin ben yazayım.:cool:
 
Private Sub KAYDET_Click()
Dim Baglan As New ADODB.Connection
Dim KS As New ADODB.Recordset
Dim isim As String
isim = "'" & TextBox3 & "'"
Set Baglan = New ADODB.Connection
Baglan.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & "D:\AYDIN_YAPI_YENİ_PROJE\MUSTERİ_REHBERİ.mdb"
Set KS = New ADODB.Recordset
KS.Open "SELECT İSİM FROM [MUSTERİ_REHBERİ] Where İSİM = " '" & isim & "'", Baglan, adOpenStatic, adLockOptimistic
MsgBox KS.RecordCount
Baglan.Close
Set KS = Nothing



KOD = "'" & TextBox2 & "'"
isim = "'" & TextBox3 & "'"
mahalle = "'" & TextBox4 & "'"
cadde = "'" & TextBox5 & "'"
sokak = "'" & TextBox6 & "'"
apt = "'" & TextBox7 & "'"
kat = "'" & TextBox8 & "'"
kapı_no = "'" & TextBox9 & "'"
tel_ev = "'" & TextBox10 & "'"
tel_iş = "'" & TextBox11 & "'"
gsm = "'" & TextBox12 & "'"
NOTLAR = "'" & TextBox13 & "'"

Call baglanti
Set rs = Baglan.Execute("INSERT INTO MUSTERİ_REHBERİ (KODU,İSİM,MAHALLE,CADDE,SOKAK,APT,KAT,KAPI_NO,TEL_EV,TEL_İŞ,GSM,NOTLAR) Values (" & KOD & "," & isim & "," & mahalle & "," & cadde & "," & sokak & "," & apt & "," & kat & "," & kapı_no & "," & tel_ev & "," & tel_iş & "," & gsm & "," & NOTLAR & ")")

Set Baglan = Nothing: Set rs = Nothing:
listeye_al
Application.ScreenUpdating = True
'ilerleme çubuğunu çalıştır
On Error Resume Next
ProgressBar1.Visible = True
For i = 1 To 10000
ProgressBar1 = i / 10000 * 260
Next
'ilerleme çubuğunu gizle
ProgressBar1.Visible = False

MsgBox "İŞLEM TAMAM.", vbInformation + vbOKOnly, "AYDIN YAPI"
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
TextBox13.Text = ""

Label13.Caption = "TOPLAM KAYIT " & ListBox1.ListCount
End Sub
 
sayın evren bey

MicrosoftActivexDataObjects 2.x library bir kaç gün önce accese geçerken araştımalarımda

görüp işaretlemiştim tekrar kontrol ettim işaretli

dosya kapalı gibi hata mesajı geliyor
 
Kodlarda bir hata gözükmüyor.
FROM [MUSTERİ_REHBERİ] yazan yerde MUSTERİ_REHBERİ yerinde tablonuzun ismi olması lazım.Ben tablonuzu bilmediğim için yanlış yazmış olabilirim.:cool:
 
sayın evren bey

access dosyamın adı MUSTERİ_REHBERİ dir

örnek dosya hazırlayayım onun üzerinde bakarsanız anlaşılır diye düşünüyorum

şuan örnek çalışmayı hazırlıyorum eklesemde baksanız

saygılar
 
sayın evren bey

access dosyamın adı MUSTERİ_REHBERİ dir

örnek dosya hazırlayayım onun üzerinde bakarsanız anlaşılır diye düşünüyorum

şuan örnek çalışmayı hazırlıyorum eklesemde baksanız

saygılar
Tamam mdb dosyasınıda ekleyin.Birde hangi alan sorgulanacak onuda bidirin.:cool:
 
sayın evren gizlen

hocam formda ekle butonu var butonla yeni bir kayıt eklediğimde bu kayıt var demesi gerekiyor

amacım mükerreri önlemek

sorgulanacak alan İSİM alanıdır

saygılar
 

Ekli dosyalar

sayın evren gizlen

hocam formda ekle butonu var butonla yeni bir kayıt eklediğimde bu kayıt var demesi gerekiyor

amacım mükerreri önlemek

sorgulanacak alan İSİM alanıdır

saygılar
Tablonuzda İSİM alnı diye bir alan yok AD ve SOYAD alanı var.:cool:
 
çok pardon

sayın evren bey gözümden kaçmış AD olacak


tekrar özür dilerim

saygılar
 
Dosyanız ekte.:cool:
Kod:
Private Sub CommandButton3_Click()
[B][COLOR="Red"]Dim kayitsay As Object[/COLOR][/B]
Call baglanti
[B][COLOR="Red"]Set kayitsay = CreateObject("AdoDb.RecordSet")
Set kayitsay = baglan.Execute("select count(ADI) from MUSTERİ_REHBERİ where ADI = '" & txtAdi.Text & "'")
If kayitsay(0) > 0 Then
    MsgBox "[ " & txtAdi.Text & " ] İsminde kayıt var.Bu kayıtı tekrar girmezsiniz!", vbCritical, "UYARI"
    txtAdi.SetFocus
    Set kayitsay = Nothing
    baglan.Close
    Exit Sub
End If[/COLOR][/B]
kod = "'" & txtCalisanKod & "'"
ad = "'" & txtAdi & "'"
soyad = "'" & txtSoyadi & "'"


Set rs = baglan.Execute("INSERT INTO MUSTERİ_REHBERİ (CALISAN_KODU,ADI,SOYADI) Values (" & kod & "," & ad & "," & soyad & ")")

Set baglan = Nothing: Set rs = Nothing:
listeye_al
temizle
MsgBox "İŞLEM TAMAM"
Label25.Caption = "Toplan kayıt sayısı= " & ListBox1.ListCount


End Sub
 

Ekli dosyalar

sayın evren bey çok teşekkürler

elinize sağlık

sayın evren bey sizi bulmuşken bir sorum daha olacak

ben projeyi yapıpta bitirdiğimde diğer pc lerdede çalışması için diyelim

klasör oluşturup içine mdb dosyası oluşturmam gerekiyor

ve mdb nin alanlarıda oluşması lazım

elinizde böyle bir örnek çalışma varmı varsa yollarsanız sevinirim

saygılar iyi çalışmalar
 
sayın evren bey çok teşekkürler

elinize sağlık

sayın evren bey sizi bulmuşken bir sorum daha olacak

ben projeyi yapıpta bitirdiğimde diğer pc lerdede çalışması için diyelim

klasör oluşturup içine mdb dosyası oluşturmam gerekiyor

ve mdb nin alanlarıda oluşması lazım

elinizde böyle bir örnek çalışma varmı varsa yollarsanız sevinirim

saygılar iyi çalışmalar

mdb dosyası ile excel dosyası ayni klasörde olmalı.Bunumu demek istediniz.
Birde benden size bir tavsiye.
mdb dosyanızda bir alanı otomatik sayı olarak ayarlarsanız yarın öbürgün güncelleme ve silme olylarında bir karışıklığa sebep vermemiş olursunuz.
İyi çalışmalar.:cool:
 
mdb dosyası ile excel dosyası ayni klasörde olmalı.Bunumu demek istediniz.
Birde benden size bir tavsiye.
mdb dosyanızda bir alanı otomatik sayı olarak ayarlarsanız yarın öbürgün güncelleme ve silme olylarında bir karışıklığa sebep vermemiş olursunuz.
İyi çalışmalar.:cool:

sayın evren bey

anlatmak istediğim bilgisayarda C:\D:\ klasör oluşturmak ve içerisine acces

veri tabanını oluşturmak fakat acces de yapamadığım alanları otomatik oluşturmak tıpkı alttaki kodlar gibi klasör oluşturuyorum klasöründe içine xls.
excel kitabı oluşturuyorum veya mdb.access oluşuyor fakat oluşumun
içine veri tabanımı ve alanlarımı nasıl oluştururum bunu yapamadım ALAN1 ALAN2 ALAN3 ALAN4 ALAN5 GİBİ

mdb oluşuyor fakat veri tabanı ve alanlarını yapamadım

nette bir çok sitede araştırdım fakat ya visüal basic kodu yada access kodları mevcut

bana excel VBA kodları lazım

şuan ki kodlarım çalışıyor ha unutmadan bunlarda size ait txt. idi xls.oldu

saygılar

ana klasörler
Sub KLASÖR_OLUŞTUR()
'ANA DOSYA.............C:\ALTINA OLUŞUR
'AYDIN YAPI
Dim TargetFolder As String
Set FS = CreateObject("Scripting.FileSystemObject")
TargetFolder = "C:\AYDIN YAPI"
If Not FS.FolderExists(TargetFolder) Then
ChDir "C:\"
MkDir ("AYDIN YAPI")
End If

'PROGRAM DEĞERLERİ DOSYASI
TargetFolder = "C:\AYDIN YAPI\PROGRAM DEĞERLERİ"
If Not FS.FolderExists(TargetFolder) Then
ChDir "C:\AYDIN YAPI"
MkDir ("PROGRAM DEĞERLERİ")
End If
'\\\\\\\\\\\\\\\\\\ALT DOSYALAR\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'MÜŞTERİ_REHBERİ DOSYASI
TargetFolder = "C:\AYDIN YAPI\PROGRAM DEĞERLERİ\MÜŞTERİ_REHBERİ"
If Not FS.FolderExists(TargetFolder) Then
ChDir "C:\AYDIN YAPI\PROGRAM DEĞERLERİ"
MkDir ("MÜŞTERİ_REHBERİ")
End If

xls. dosyaları

Sub KLASÖRE_SAYFA_OLUŞTUR()
'FİRMA_REHBERİ
Dim ds, A, B, c, d, e, f, g, h, ı
Set ds = CreateObject("Scripting.FileSystemObject")
A = ds.FileExists("C:\AYDIN YAPI\PROGRAM DEĞERLERİ\FİRMA_REHBERİ\FİRMA_REHBERİ.xls")
If A = False Then
'FİRMA_REHBERİ KİTABI OLUŞUYOR
Set A = ds.CreateTextFile("C:\AYDIN YAPI\PROGRAM DEĞERLERİ\FİRMA_REHBERİ\FİRMA_REHBERİ.xls", True, False)

End If
 
Son düzenleme:
Ekli excel dosyasını inceleyiniz.Hem yeni bir mdb dosyası oluşturuyor ve hemde içine alanlar oluşturuyor.:cool:
 

Ekli dosyalar

Geri
Üst