Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Veritabanları & SQL

Cevapla
 
LinkBack Seçenekler
Eski 28/05/2003, 17:01   #1 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 01/2003
Mesaj: 447
Varsayılan access te virman gibi bi şey yapmak istiyorum

Merhaba,


Muhasebe işi ile az çok ilgilenmiş olanlar bilir.
İki hesap arasındaki kayıt hareketine (başka bi amaca hitap etmiyorsa, sadece paranın yeri değişiyorsa) virman deniliyor.

kasa defteri takip gibi bi şey yapmaya çalışıyorum. Ama burada bu virman işlemini yapmaya çalıştım çözümünü bulamadım.

Mesela KASA hesabındaki para BANKA hesabına geçti bu iki hesap arasında kayıt yapmak için
YA..... ;

önce bir kayıt açacağım ve KASA hesabını seçerek çıkan para kaydı gireceğim ve rakamı yazacağım. Sonra BANKA hesabı için bir kayıt daha girip bununda giren para kaydı olarak aynı rakamı yazacağım. Bunun ikisini birden yapmak kullanıcı için işkencenin ötesinde bir durum oluşturuyor.


Aklıma şu geldi....


Alan hesap
Veren hesap diye iki ayrı açılan kutudan hesapları seçeceğim tutarı yazacağım. Tuşa bastığımda Veren hesapa bir çıkış kaydı
alan hesaba da bir alış kaydı girecek. Yani iki ayrı kaydı kendi kendine açacak ve birinin HESAPADI alanınan ilk açılan kutudan seçileni ikinci kaydın HESAPADI alanına ikinci açılan kutudan seçilen kaydı girecek rakamı da her ikisine girecek.

Bir tuşla bu işi yapmanın yöntemi vardır umarım Access'te.
__________________
www.koddeposu.com TÜRKİYENİN KOD PAYLAŞIM PLATFORMU
www.kullaniciyorumlari.com E ADI ÜSTÜNDE, SENİN ALMAK İSTEDİĞİN ŞEYİ ADAMLAR KULLANMIŞ, BİDE ÜSTÜNE YORUM YAZMIŞ.
.
realperest hatta değil   Alıntı Yaparak Yanıtla
Eski 28/05/2003, 18:53   #2 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

Kod yazarak yapabilirsin. INSERT INTO ile her iki kalem icin gerekli kaydi tabloya ekleyeceksin. Suna benzer bir kod, kaydin After Insert (kayit eklendiginde) olayina yazilabilir:

Dim cnn As ADODB.Connection
Dim cmd As ADODB.Command
Dim sqlStr As String

Set cnn = New ADODB.Connection
Set cnn = CurrentProject.Connection

Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cnn_local

cnn.BeginTrans

' birinci kalem icin
sqlStr = "INSERT INTO TabloAdi " & _
"(Alan1, Alan2) " & _
"VALUES (deger1, deger2);"
cmd.CommandText = sqlStr
cmd.Execute

' ikinci kalem icin
sqlStr = "INSERT INTO TabloAdi " & _
"(Alan1, Alan2) " & _
"VALUES (deger1, deger2);"
cmd.CommandText = sqlStr
cmd.Execute

cnn.CommitTrans

Set cmd = Nothing
Set cnn = Nothing
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 29/05/2003, 15:43   #3 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 01/2003
Mesaj: 447
Varsayılan

saol,

deneyeceğim.
__________________
www.koddeposu.com TÜRKİYENİN KOD PAYLAŞIM PLATFORMU
www.kullaniciyorumlari.com E ADI ÜSTÜNDE, SENİN ALMAK İSTEDİĞİN ŞEYİ ADAMLAR KULLANMIŞ, BİDE ÜSTÜNE YORUM YAZMIŞ.
.
realperest hatta değil   Alıntı Yaparak Yanıtla
Eski 01/08/2003, 16:47   #4 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 01/2003
Mesaj: 447
Varsayılan

Merhaba,

uzun zamandır bilgisayarın başına oturamadım.

deneme amacıyla aşağıdaki kodu girdim, bakalım kaydedecekmi diye

Private Sub Komut6_Click()
Dim cnn As ADODB.Connection
Dim cmd As ADODB.Command
Dim sqlStr As String

Set cnn = New ADODB.Connection
Set cnn = CurrentProject.Connection

Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cnn_local

cnn.BeginTrans
'birinci kayıt için (çıkış kaydı)
sqlStr = "INSERT INTO HAREKET" & "(HESAP)" & "VALUES (forms!VIRMAN!alanhesap);"
cmd.CommandText = sqlStr
cmd.Execute

'ikinci kayıt için (diğer hesabın giriş kaydı)
sqlStr = "INSERT INTO HAREKET" & "(HESAP)" & "VALUES (forms!VIRMAN!verenhesap);"
cmd.CommandText = sqlStr
cmd.Execute

cnn.CommitTrans

Set cmd = Nothing
Set cnn = Nothing


End Sub


ama

Set cmd.ActiveConnection = cnn_local

satırında bir problem var gibi görünüyor. 424 object requary

diye bi hata mesajı çıkıyor.

neden acaba ?
__________________
www.koddeposu.com TÜRKİYENİN KOD PAYLAŞIM PLATFORMU
www.kullaniciyorumlari.com E ADI ÜSTÜNDE, SENİN ALMAK İSTEDİĞİN ŞEYİ ADAMLAR KULLANMIŞ, BİDE ÜSTÜNE YORUM YAZMIŞ.
.
realperest hatta değil   Alıntı Yaparak Yanıtla
Eski 01/08/2003, 18:12   #5 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

Orasi

Set cmd.ActiveConnection = cnn

olmali. Yanlis yazmisim.
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 08/08/2003, 16:10   #6 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 01/2003
Mesaj: 447
Varsayılan

abicim kusura bakma ama nedense yine olmuyor.


bu seferde program kodu

cmd.Execute satırında takılıyor ve

Gerekli veya daha fazla parametre için girilen değer yok.

diye bi hata mesajı veriyor. Bu benim sadece kod kullanarak herangi bir tabloya kayıt girmekteki ilk deneyimim bunu öğrenmek istiyorum.


Kusura bakma ama bi usta gözüyle bi bakmanı rica edeceğim yine.
__________________
www.koddeposu.com TÜRKİYENİN KOD PAYLAŞIM PLATFORMU
www.kullaniciyorumlari.com E ADI ÜSTÜNDE, SENİN ALMAK İSTEDİĞİN ŞEYİ ADAMLAR KULLANMIŞ, BİDE ÜSTÜNE YORUM YAZMIŞ.
.
realperest hatta değil   Alıntı Yaparak Yanıtla
Eski 08/08/2003, 16:15   #7 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

sqlStr = "INSERT INTO HAREKET" & "(HESAP)" & "VALUES (forms!VIRMAN!alanhesap);"

kismi

sqlStr = "INSERT INTO HAREKET (HESAP) " & _
"VALUES (" & forms!VIRMAN!alanhesap & ");"


olacak. Ikincisi de ayni sekilde degisecek.


Gerekli bosluklari verip vermedigine dikkat et. Ornegin (HESAP) kisminden sonra bir bosluk olmali. Kelimeleri ayrimak icin...
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 13/08/2003, 11:34   #8 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 01/2003
Mesaj: 447
Varsayılan

olmuyor yine abi yaa,

aynen senin gösterdiğin şekilde yaptım olmadı.


sorgu ifadesi içinde söz dizimi hatası (eksik işleç)


diye bi hata ile yine
cmd.execute satırında takılıyor.


Private Sub Komut6_Click()
Dim cnn As ADODB.Connection
Dim cmd As ADODB.Command
Dim sqlStr As String

Set cnn = New ADODB.Connection
Set cnn = CurrentProject.Connection

Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cnn

cnn.BeginTrans
'birinci kayıt için (çıkış kaydı)
sqlStr = "INSERT INTO HAREKET (HESAP) " & _
"VALUES (" & Forms!VIRMAN!alanhesap & " );"
cmd.CommandText = sqlStr
cmd.Execute

'ikinci kayıt için (diğer hesabın giriş kaydı)
sqlStr = "INSERT INTO HAREKET (HESAP) " & _
"VALUES (" & Forms!VIRMAN!verenhesap & ");"
cmd.CommandText = sqlStr
cmd.Execute

cnn.CommitTrans

Set cmd = Nothing
Set cnn = Nothing


End Sub


işte bütün kodum bu ve burada bir yanlışlık var ama nerede bilmiyorum.

vazgeçmek üzereyim.
__________________
www.koddeposu.com TÜRKİYENİN KOD PAYLAŞIM PLATFORMU
www.kullaniciyorumlari.com E ADI ÜSTÜNDE, SENİN ALMAK İSTEDİĞİN ŞEYİ ADAMLAR KULLANMIŞ, BİDE ÜSTÜNE YORUM YAZMIŞ.
.
realperest hatta değil   Alıntı Yaparak Yanıtla
Eski 13/08/2003, 14:50   #9 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

* Veritabaninda HAREKET adli bir tablo var mi?
* Bu tabloda HESAP adli bir alan var mi?
* Bu alanin tipi ne?
* Bu islemi yaparken VIRMAN adli form acik mi?
* Formun adi Virman mi, VIRMAN mi?


Bir de su denemeyi yapsana:
* cmd.execute satirlarinin basina tek tirnak (') koyup calismasini engelle
* Formdan veriyi alip almadigini anlamak icin cmd.execute satirlarinin altina

msgbox(sqlStr)

yaz. Gordugun sonucu buraya kopyala. Bos gorunuyorsa, muhtemelen form adindan (VIRMAN) kaynaklanan bir sorun vardir. i/I olayi...
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 13/08/2003, 17:12   #10 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 01/2003
Mesaj: 447
Varsayılan

Selam,

HAREKET adli bir tablo var ve bu HAREKET tablosunun içinde HESAP diyede bir alan var. Bu alanın tipi Metin

Evet VIRMAN adındaki form açık zira olayı tetikleyen komut düğmesi bu formun üzerinde, ve bu formun adı VIRMAN

cmd.execute komut satırını olaydan çıkarmayı denemiştim.
bunun başına ' koyunca otomatik olarak bir sonraki satırları sarı boyuyor. ve altaki ikinci kayda kadar böyle gidiyor onuda ' işareti ile kaldırınca da komut düğmesi hiç bir reaksiyon vermiyor. Bakıyorum tabloya kayıt falan da girmemiş oluyor.

Mesajboxta açılan kutudan seçtiğim (alanhesap, verenhesap) değerleri var zaten VBA nın içinde de satırın üzerine fare ile gelince de görünüyor ama sadece şundan şüpheleniyorum

bütün komut satırı var yani bana sanki sadece denetimin içindeki değerin olması gerekiyormuş gibi geliyor
örneğin 110111 (Banka Hesabı)
gibi
ama
orada ;
INSERT INTO HAREKET (HESAP) VALUES (110111 (Banka Hesabı))

gibi var...

du bi dakka yaaa galiba hataya sebep olan şey benim hesap tanımlarını yaparken parantez kullanmam

Yani mesela alanhesap ve veren hesap alanlarındaki hesaplar
şu şekilde

111101 (Mevduat Hesabı)
111100 (Yatırım Hesabı)

gibi bundan olabilirmi sence
__________________
www.koddeposu.com TÜRKİYENİN KOD PAYLAŞIM PLATFORMU
www.kullaniciyorumlari.com E ADI ÜSTÜNDE, SENİN ALMAK İSTEDİĞİN ŞEYİ ADAMLAR KULLANMIŞ, BİDE ÜSTÜNE YORUM YAZMIŞ.
.
realperest hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
test yapmak istiyorum alize PHP 2 17/08/2005 16:29
örnekteki gibi site yapmak istiyorum anka00 Uygulama Yazılımları / Hazır Betikler 7 04/05/2005 21:55
access; altformda gotorecord,, acnext yapmak istiyorum. realperest Veritabanları & SQL 0 12/08/2004 17:09
Effect yapmak istiyorum.. penarena Photoshop / Corel / PSP 5 01/05/2004 20:56


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 09:30.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net