Ayrı Formdaki Liste Kutusunda Seçileni Çalışılan Forma Aktarma

Katılım
19 Şubat 2006
Mesajlar
73
Excel Vers. ve Dili
exel
Slm Arkadaşlar

Ekteki örnekte açılan ilk formdaki HSKOD alanına çift tıklayınca veriyi seçeceğimiz ikinci form gelmekte bu formadaki liste kutusundan ilgili kayıt seçildikten sonra tamam tuşuna basılınca form kapanacak ve seçilen veri HSKOD alanına otomatik olarak yazacak Bunun için seçim yapmak üzere açılan formdaki Tamam düğmesine yazacağım kod bilen varsa eğer yardımlarını bekliyorum.

Şimdiden teşekkür ederim.
 

Ekli dosyalar

Katılım
19 Şubat 2006
Mesajlar
73
Excel Vers. ve Dili
exel
Arkadaşlar sormuş olduğum sorunun cevabı yoksa eğer

uzman ardaşlardan birisi böyle birşey mümkün değil diye yazıversin lütfen :(

Teşekkürler
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Öncelikle form1'deki yapınızı düzeltmelisiniz. Form1'deki liste kutusu veriyi bir sorgu üzerinden alıyor, diğer kapanan formdan getirilen bilgiyi nereye yazacak ki?.. Benim önerim şu:

Bir modül oluşturun. İçine şu satırları yazın

public HSKOD2
public ADI2
public SOYADI2

sonra form2 nin çift tıklama kodlarını şu şekle getirin

On Error GoTo Hata

HSKOD2 = Me.HSKOD
ADI2 = Me.ADI
SOYADI2 = Me.SOYADI

DoCmd.OpenForm "Form1", acNormal, , , acFormEdit
Hata: Exit Sub

şimdi artık form2 deki veriler belleğe atıldı. Eğer açılan form üzerindeki TAMAM düğmesine

msgbox HSKOD2
msgbox ADI2
msgbox SOYADI2

kodlarını yazarsanız, verilerin geldiğini görürüsünüz. Ama bunu bir sorgudan veri alan liste kutusuna nasılo eklersiniz bilemiyorum. Biraz deneme yapıp bilgi vereyim size...
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Form1 deki listenin İlişkili sütunu 2 yapın ve aynı formun ilgili denetimlerine bu kodları yarleştirin. Hata denetimlerini geliştirirsiniz. Mesela dolu alana listedeki bir veriyi koymak için düzenekte ilaveler hazırlamak lazım.

Bu haliyle amacınızı elde etmiş olursunuz..


Kod:
Private Sub Komut6_Click()
Me.Modal = False
DoCmd.OpenForm "form2", acFormDS
DoCmd.RunCommand acCmdPaste
SendKeys "{enter}"
DoCmd.Close acForm, "form1"
End Sub
 
Private Sub Liste3_Click()
DoCmd.RunCommand acCmdCopy
End Sub
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
:))))
Ben tam tersini anladım. Programı biraz inceleyince anladım ne yapmak istediğinizi. Tam tersi, siz cari kodlar tablosundaki bir kaydı liste kutusundan seçip işlemler formunuza almak istiyorsunuz. Ben ise işlem yaptığınız formdan cari tablosuna kayıt göndermeyi anlattım. Kusura bakmayın:))
 
Katılım
6 Ekim 2007
Mesajlar
1
Excel Vers. ve Dili
2003
merhaba sayın smmustafa

ben sorununuza değişik bir çözüm getirmek istedim form 2 de hesap kodlarını listeden seçerken hesap adlarının da görünmesi işinizi görmez mi? ben bu şekilde düzelmiş access dosyasını ekliyorum. nasıl yaptıgımı anlatayım belki biliyorsunuzdur ama ; önce ilişkiyi siliyoruz ve tablo 2 deki hskod alanının veri özelliklerinde arama sihirbazını seçip tablo 1 yani hesap kod listesi tablosundaki kod - adı - soyadı alanlarını seçiyoruz. arama sihirbazı tamamlanınca zaten ilişkiyi kuruyor. ve bu şelikde tablo 2 de kod secerklen hesap kodunun adını görüyoruz ona göre seciyoruz.

umarım yardımcı olmustur.
 

Ekli dosyalar

Son düzenleme:
Katılım
19 Şubat 2006
Mesajlar
73
Excel Vers. ve Dili
exel
Sayın Taruz

İlginize ve alakanıza çok teşekkür ediyorum

fakat takıldığım bir nokta daha var

Private Sub Komut6_Click()
Me.Modal = False
DoCmd.OpenForm "form2", acFormDS

' burada yapıştırmadan önce eğer HSKOD alanı doluysa bu alanı boşaltmak gerekiyor
yoksa içinde ne yazılıysa arkasına kopyalıyor ve haliyle tam olarak işimi çözmüş olmuyor.

DoCmd.RunCommand acCmdPaste

Diğer taraftan seçim alanına geçen komuta aşağıdaki kodları yazdığım zaman bile temizleme işlemini yapmıyor

On Error GoTo Hata

Me.HSKOD.Value = Null

(bu şekilde temizleme yaptıktan sonra geç komutunu veriyorum fakat olmuyor. yani açılan kutunun içinde yazılanları seçim yapmadan önce temizlemek gerekiyor ki seçim yapıldıktan sonra peşin sıra kopyalama işlemi yapmasın )

DoCmd.OpenForm "Form1", acNormal, , , acFormEdit
Hata: Exit Sub


Sayın mcgyver

Bahsettiğiniz olay zaten basit bir şekilde yapılabiliyor ama oluşan listedeki kayıtların çok olduğunu ve birbirine yakın isimlerin olduğunu düşünürsek eğer açılan listeden seçmek hatalara sebebiyet verebiliyor onun için ayrı bir arama formundan açmak ve buradanda arama yapıp listbox'a aranan kriterlere göre kayıtları süzmek ve sonrasında da kaydın üzerine gelip tamam demek daha akılcı bir yöntem oluyor.
şöyleki
içinde KAPI geçen bütün verileri dökmek istiyorum ve bu kayıtların içinden seçim yapmak istiyorum ama KAPI kelimesi kayıtların başında olabilir ortasında veya sonunda olabilir onun için yapmam gereken tek şey bir listbox'a KAPI kelimesini içeren kayıtları döktürmek ve alakalı olduğum kaytı seçip tamam demek olacaktır.

tekrardan teşekkür ederim.
 
Katılım
19 Şubat 2006
Mesajlar
73
Excel Vers. ve Dili
exel
Private Sub HSKOD_DblClick(Cancel As Integer)
With CodeContextObject
If Me.HSKOD <> 0 Then
.HSKOD = 54
End If
End With

On Error GoTo Hata
DoCmd.OpenForm "Form1", acNormal, , , acFormEdit
Hata: Exit Sub
End Sub


yukarıdaki kodla işlem tamam oluyor yani bir kod seçilmişse eğer HSKOD alanını boşaltıp ondan sonra seçim formunu açıyor.
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
tam aradığım konu ama açılan formdaki liste kutusu kayıt bul özelliğinde olmazsa olmuyor
başka bir yol denemek lazım kayıt bul yapınca da alt formdaki alanlarla eşleşmiyor listedeki kayıt değil uyarısı veriyor
bir başka yolu var mı?
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,

Bir şekilde yolu vardır, ancak örnek üzerinde çalışma her zaman daha iyi oluyor.


İyi çalışmalar
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,552
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Dostlar günaydın, iyi hafta sonları...

Acaba, sayın smmustafa'nın bu dosyasının son hali elinde olan var mı? Ya da smmustafa tekrar yükleyebilir mi?.

Teşekkürler..
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
örnek ekte

sayın modalı örnek ekte
hatam id yada kayıt bul eşleşmesinden kaynaklı ama bulamadım sebebini
kolay gelsin sağolun...
 

Ekli dosyalar

Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,

Bir de tam olarak neyi yapmak istediğinizi anlatabilir misiniz?

Ben çıkartamadım.

İyi çalışmalar
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
hocam ilk açılan veri formundan ürün adına çift tıklayınca
açılan ürünler formundaki liste kutusundan ürünü bulup üzerine çift tıklayınca bir önceki veri sayfası alt formu (aaa) ürün adı ürün no vs. seçtiğim ürünü yapıştırmasını istiyorum.
umarım anlatabilmişimdir..
kolay gelsin...
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Ürünler tablosundan yaptığınız sorgudaki >0 ölçütünü kaldırın. O listede tüm ürünlerin görünmesi lazım. Yani formdaki Ürünadları olmayınca açılan kutu içine yazılan kodlar elbette çalışmayacaktır.
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
sayın demiral tüm ürünler ekrana çıkmasın açılır kutudan sadece satış fiyatı belirlideklerimiz çıksın diye yaptım ancak onu kaldırmama rağmen çalışmadı

denediniz mi bilmiyorum!
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Sanırım siz varolan bir kaydın olduğu satırda değişiklik yapıyorsunuz. Oysa ben boş satıra yeni bir ürün getiriyorum. Eğer mevcut kaydın yerine getirmek istiyorsanız o zaman hata veriyor çünkü eski kaydı temizlemek gerek.

URUNADI metin kutusunun çift tıklama yordamını şöyle yapın:

cevap = MsgBox("Ürün değişecek, onaylıyor musunuz?", vbYesNo, "KARAAYHAN")
If cevap = 6 Then
Me.URUNADI = ""
DoCmd.OpenForm ("stoktan ekle"), acNormal
Else
End If


Ben denedim, çalışıyor:)))
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Bu arada şöyle bir durum ortaya çıkabilir, o da zaten boş olan bir satırda çift tıklamada bu soru gereksizdir. Bu durumda kodları şöyle değiştirelim:

If IsNull(Me![URUNADI]) Then
DoCmd.OpenForm ("stoktan ekle"), acNormal
Else
cevap = MsgBox("Ürün değişecek, onaylıyor musunuz?", vbYesNo, "KARAAYHAN")
If cevap = 6 Then
Me.URUNADI = ""
DoCmd.OpenForm ("stoktan ekle"), acNormal
Else
End If
End If


Dosyayı ekledim..
 

Ekli dosyalar

Son düzenleme:
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
sayın demiral, yine olmamış:) iade ürünlerinin kodları farklı arka arkaya aynı ürünleri teker teker deneyin olmadığını göreceksiniz
satış formunda boş alana veri eklemek istiyorum ayrıca var olan alana değil hocam,
ama olmuyor bir önceki kaydı getiriyor bence liste kutusu kayıtbul özelliğinde olmalı öncelikle
yani hangi kayıtın seçili olduğu bilinmiyor ki...?

teşekkürler kolay gelsin:)
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Sayın karaayhan
İnanın sorununuzu anlayabilmek için öyle acı çektiriyorsunuz ki insana.. Baştan şunu "İsmi seçilen ürünün kodu yanlış geliyor" deseniz bu kadar uğraşmayacağız. Tabii ki ya yanlış gelecek. Kurduğunuz çatı öyle çünkü. Siz ürünler tablosundaki ürün id, ürünkod- otomatik kod gibi değerleri bbırakın, gidip isimle çalışın, olacak iş mi? Tabii ki o da ilk bulduğu ürün adını getiriyor. "Benzersiz kayıt" diye birşey vardır, siz onu baz alarak çalışacaksınız.

Şimdi diyeceksiniz ki, veri sayfası görünümünde kodu ya da id'yi nasıl saklayacağım? O kolay.. Siz önce oturup tüm altyapınızı değiştirin. Bütün kodları ve veri çağırma işlemlerinizi lütfen amalütfen benzersiz değerlerle yapın. Yoksa "ALİ" deyince en yakındaki koşacaktır. Eğer çağırdığınız Ali o değilse, sizin hatanız.. Siz Ali'yi numarasıyla çağırın bakalım, öbür ali bakıyor mu? Bu arada şuna da karar vermelisiniz. Hem ürün adını açılan kutudan seçmeye hem de çift tıklayıp biryerlerden çağırmaya çalışıyorsunuz. Bunların ikisini de yapmaya ne gerek var? Onu da anlamadım...
 
Üst