• DİKKAT

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

Bir userform dan diğerine bilgi göndermek

Katılım
24 Mart 2010
Mesajlar
29
Excel Vers. ve Dili
Excel 2007 Türkçe
İyi günler arkadaşlar;
------------------------------------------
Private Sub sayacbut_Click()
sayacform.Caption = txad & " Sayaç İşlemleri"
sayacform.txmid = txid
sayacform.Show
End Sub
-----------------------------------------------
Yukarıdaki kodları kullanarak sayacform'a bilgi gönderebiliyorum ama veritabanı bağlantısı kullanırken bu bilgiyi nedense kullanamıyorum;
---------------------------------------------
rs.Open "select * from [sayac] where sid="&txmid, baglan, 1, 1
veya
rs.Open "select * from [sayac] where sid="&txmid.Value, baglan, 1, 1

şeklinde denediğimdede olmuyor değer yok gibi görünüyor ve;
--------------------------------------------------------------
sorgu ifadesi içindeki söz dizimi hatası veriyor yani txmid veya txmid.Value de herhangi bir değer yok.

Bu değeri nasıl gönderebilirim ?
İlgini için teşekkürler.
 
alttaki kodu deneyiniz
Kod:
rs.Open "select * from [sayac] where sid="&cdbl(txmid.Value), baglan, 1, 1
Oda olmazsa aşağıdakini
Kod:
rs.Open "select * from [sayac] where sid='"&txmid.Value & "';", baglan, 1, 1
 
İlginiz için teşekkürler ama işe yaramadı. ilk userformdan değer göndermesinde sıkıntı var sanki, asp de olduğu gibi session özelliği varmı acaba excelde yabancıyım birazda
 
İlginiz için teşekkürler ama işe yaramadı. ilk userformdan değer göndermesinde sıkıntı var sanki, asp de olduğu gibi session özelliği varmı acaba excelde yabancıyım birazda
siz verdiğiniz kodda userforma veri gönderme vba kodu değil ki.
O sql sorgusu.
Başka bir userformdaki listboxa gibi bir nesneye bu sorgudan aldığınız verileri göndermek başka türlü olur.Ama siz sql sorgusu sormuştunuz.Ben anlayamadım doğrusu.!:cool:
 
Ekli dosyayı inceleyiniz.:cool:
Kod:
Private Sub CommandButton1_Click()
UserForm2.ListBox1.ColumnCount = 5
UserForm2.ListBox1.List = Range("A1:E30").Value
UserForm2.Show
End Sub
 

Ekli dosyalar

sql sorgusunda direk diğer userformdan gelen veriyle arama yapmak istiyorum;
ilk user formdan bu şekilde gönderiyorum;
Private Sub sayacbut_Click()
sayacform.txmid.Value = txid
sayacform.Show
End Sub
sql sorgumda aşağıdaki gibi; ve bağlantı kodum Private Sub UserForm_Initialize() altında;
rs.Open "select * from [sayac] where sid="& txmid, baglan, 1, 1
veya
rs.Open "select * from [sayac] where sid="& txmid.Value, baglan, 1, 1

anlatabilmişimdir umarım, burda sorun txmid değeri yok
 
sql sorgusunda direk diğer userformdan gelen veriyle arama yapmak istiyorum;
ilk user formdan bu şekilde gönderiyorum;
Private Sub sayacbut_Click()
sayacform.txmid.Value = txid
sayacform.Show
End Sub
sql sorgumda aşağıdaki gibi; ve bağlantı kodum Private Sub UserForm_Initialize() altında;
rs.Open "select * from [sayac] where sid="& txmid, baglan, 1, 1
veya
rs.Open "select * from [sayac] where sid="& txmid.Value, baglan, 1, 1

anlatabilmişimdir umarım, burda sorun txmid değeri yok
Önce başka bir userforma veri alma yöntemine bakaılım.
önceki mesajıma baktınızmı orada bir dosya yolladım.Onu inceleyin baştan isterseniz.:cool:
 
İlginiz için teşekkürler göönderdiğiniz dosyada userforma veri göndermek için;
Private Sub CommandButton1_Click()
UserForm2.ListBox1.ColumnCount = 5
UserForm2.ListBox1.List = Range("A1:E30").Value <------- burayı kullanmıssınız heralde;
UserForm2.Show
End Sub

bende aynı şekilde uyarlıyorum;

Private Sub sayacbut_Click()
sayacform.txmid.Value = txid.Value <--- burda txid textbox
sayacform.Show
End Sub

bu şekilde sayacformumuzdaki txmid textbox a txid verisi gidiyor; çünkü textbox içinde değer yazıyor ama;

If txmid = "" Then
kod = ""
Else
kod = "where sid=" & txmid
End If

sorgulamamızda kod boş değer görünüyor.

tam olarak kodlar;
Sub baglanti()
If txmid = "" Then
kod = ""
kod2 = ""
Else
kod2 = "[sayac].musteriid=" & txmid & " and"
kod = "where musteriid=" & txmid
End If
Set baglan = CreateObject("adodb.connection")
baglan.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\vt2.mdb"
End Sub

Private Sub listeye_al()
ListBox1.Clear
Set baglan = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
Call baglanti
rs.Open "select * from [sayac] '" & kod & "' order by id desc", baglan, 1, 1
If rs.EOF Then
Exit Sub
End If
With ListBox1
.RowSource = Empty
.Column = rs.getrows
End With
rs.Close
Set rs = Nothing
baglan.Close
Set baglan = Nothing
End Sub

Private Sub UserForm_Initialize()
listeye_al
End Sub

şeklinde ilginiz için teşekkürler.
 
sorgunuz başka userformda textbox başka userformda ise
sorguyu yaptığınız userfomda diğewr userformdaki textboxtan veriyi aşağıdaki gibi alırsınız.
Kod:
deger=userfom2.textbox1.text
burada userform2 deki textbox1.text değeri içinde olan veriyi deger değişkeninine alıyoruz.Bu değer bu hali ile stringtir.çünkü adı üstünde textboxtır yani text tir.
deger değişkenini tanımlamadı iseniz
aşağıdaki kodla teextbox nesnesini vba fonksiyonu kullanarak sayısal veri olarak alabikllirsiniz.
Kod:
cdbl(userform2.textbox1.text)
tarih:
Kod:
cdate(userform2.textbox1.text)
tabii dağa önce userform2 de textboxa veri girmeniz lazım.
 
ilginiz için teşekkür ederim deger=userfom2.textbox1.text bu kadar basit bir çözüm işimi halletti :)
 
Geri
Üst