tablodan tabloya gönderme

1 2
28/01/2010, 18:07

akd

Merhaba arkadaşlar,
aşağıdaki kod ile KategoriTanimlama tablosundaki kategori seçimine göre, formdaki seçilen firma FrmID numarası ile UrunSatis tablosuna aktarmak istedim, FrmID alan adını ekleyince hata veriyor. onun yerine 0 ekleyince çalışıyor lakin işime yaramıyor çünkü aktarılanların hangi firmaya ait oldugunu tanımlamam lazım.
Dim akd As ADODB.Connection
Set akd = Application.CurrentProject.Connection
akd.Execute " insert into UrunSatis(MstID, Katagori, Tanimlama, Aciklama, Siralama) select FrmID, Katagori, Tanimlama, Aciklama, Siralama from [KategoriTanimlama] where Katagori='" & ktg & "'"
akd.Execute "delete * from UrunSatis where Katagori <> Katagori "
akd.Close
Set akd = Nothing
28/01/2010, 20:10

Seruz

Burada kullandığınız select cümlesine göre,
Kod:
select FrmID, Katagori, Tanimlama, Aciklama, Siralama from [KategoriTanimlama]
KategoriTanimlama adlı tabloda FrmID adında bir alan arıyor ama tabloda böyle bir alan yok.
Test edemedim ancak FrmID yerine SiraNo yazarsanız doğru çalışır.
Yok, ben tablodaki Sirano alanını değilde formdaki FrmID adlı metin kutusundaki bilgiyi yazdırmak istiyorum diyorsanız.
Şu şekilde yazmalısınız.
Kod:
akd.Execute " insert into UrunSatis(MstID, Katagori, Tanimlama, Aciklama, Siralama) select "& me.FrmID & ", Katagori, Tanimlama, Aciklama, Siralama from [KategoriTanimlama] where Katagori='" & me.ktg & "'"
29/01/2010, 00:11

akd

Çok teşekkür ederim sayın seruz, elinize sağlık.
aynı kategoriyi birdaha kaydetmemesi için aşağıdaki kodu yazdım,
daha basit bir denetleme şekli varmı acaba?
If Dlookup ("Katagori", "UrunSatis", "Katagori='" & [ktg] & "'") = [ktg] Then
MsgBox " Bu Kategoriden Daha Önce Kayıt Yapılmış...", vbInformation, "Akd.yazılım..."
Exit Sub
End If
29/01/2010, 09:25

Nurullah_Serdar

tablo özelliklerinden hangi alanda yenileme olmasını istemiyorsan alanın yenileme özelliğini hayır yap.
29/01/2010, 09:54

akd

bu formda o özelligi kulanamam serdar kardeşim,
çünkü, 1 firmaya 1 kategoriden 1 takım kayıt yapılsın istiyorum,
1 takımın içinde 20 den fazla aynı deger kaydediliyor.
Cevabın için teşekkür ederm...
29/01/2010, 10:02

Nurullah_Serdar

o zaman
If DCount("Katagori", "UrunSatis", "Katagori='" & [ktg] & "'") <> 0 Then
MsgBox " Bu Kategoriden Daha Önce Kayıt Yapılmış...", vbInformation, "Akd.yazılım..."
Exit Sub
End If
kodunu kullanacaksın.
1 2