Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
liste kutusundaki tüm verileri seçtirmek istiyorum
evet sayın beab05 liste kutusundaki tüm verileri tıklandırma (click) yaptırmak.çünkü her veriye tıklama yaptığında tekrarlı olarak yazdırıyom.ama ben hiç tıklamasına gerek kalmadan sayfayı açtığında direk liste kutusundaki tüm verilerin tıklanmış olarak işlemi otomatik yapmasını istiyorum.ilgilendiğiniz için teşekkürler.iyi çalışmalar.
Liste kutusundaki verileri rapor için ölçüt kullanacağınızı varsayıyorum.
Bir düğme oluşturun ve tıklanmasına aşağıdaki kodu yazın, bu kod ile liste kutusundaki tün veriler raporunuza gelecektir, eğer liste kutusundan herhangi birine ya da birden çok veriye tıklarsanız da seçtikleriniz gelecektir kısaca multiselect olayı.. (lstcategory:liste kutusunun adıdır)
Private Sub cmdPreview_Click()
On Error GoTo Err_Handler
'Purpose: Open the report filtered to the items selected in the list box.
'Author: Allen J Browne, 2004. http://allenbrowne.com
Dim varItem As Variant 'Selected items
Dim strWhere As String 'String to use as WhereCondition
Dim strDescrip As String 'Description of WhereCondition
Dim lngLen As Long 'Length of string
Dim strDelim As String 'Delimiter for this field type.
Dim strDoc As String 'Name of report to open.
'strDelim = """" 'Delimiter appropriate to field type. See note 1.
strDoc = "rapor_adı"
'Loop through the ItemsSelected in the list box.
With Me.lstCategory
For Each varItem In .ItemsSelected
If Not IsNull(varItem) Then
'Build up the filter from the bound column (hidden).
strWhere = strWhere & strDelim & .ItemData(varItem) & strDelim & ","
'Build up the description from the text in the visible column. See note 2.
strDescrip = strDescrip & """" & .Column(1, varItem) & """, "
End If
Next
End With
'Remove trailing comma. Add field name, IN operator, and brackets.
lngLen = Len(strWhere) - 1
If lngLen > 0 Then
strWhere = "[liste_kutusu_sorgusu_ID_alanı] IN (" & Left$(strWhere, lngLen) & ")"
lngLen = Len(strDescrip) - 2
If lngLen > 0 Then
strDescrip = "alanım: " & Left$(strDescrip, lngLen)
End If
End If
'Report will not filter if open, so close it. For Access 97, see note 3.
If CurrentProject.AllReports(strDoc).IsLoaded Then
DoCmd.Close acReport, strDoc
End If
'Omit the last argument for Access 2000 and earlier. See note 4.
DoCmd.OpenReport strDoc, acViewPreview, WhereCondition:=strWhere, OpenArgs:=strDescrip
For Each varItem In Me.lstCategory.ItemsSelected
Me.lstCategory.Selected(varItem) = False
Next varItem
Exit_Handler:
Exit Sub
Err_Handler:
If Err.Number <> 2501 Then 'Ignore "Report cancelled" error.
MsgBox "Error " & Err.Number & " - " & Err.Description, , "cmdPreview_Click"
End If
Resume Exit_Handler
End Sub
çok teşekkür ederim sayın beab05 .sayenizde önemli bir sorunu çözmek üzereyim.yalnız ben rapora yazdırmak istemiyorum sadece tümünü seçmesi bana yeterli bu fonksiyonda hangi satırları silmem gerekiyor.birde strDescrip = "alanım: " & Left$(strDescrip, lngLen) bu komut satırında alanım dediğiniz yer neye karşılık geliyor.tekrar çok teşekkür ederim.iyi çalışmalar.
Merhaba;
strDoc = "rapor_adı" yani strdoc artık raponuruzdur dolayısıyla preview yani önizleme yapmanızı sağlayan satır olan
DoCmd.OpenReport strDoc, acViewPreview, WhereCondition:=strWhere, OpenArgs:=strDescrip
bunu iptal edebilirsiniz ama uygulamanızı gçrmeden ne yapmak istediğinizi tam anlamadan sizi yanlış ya yönlendirebilirm..
strDescrip = "alanım: " & Left$(strDescrip, lngLen)
kısmı ise raporda liste kutusundaki kategori ya da neyse ona göre verdiğiniz ölçütleri raporda yazılmasını sağlayan koddur, örneğin ürünler olsaydı seçtiğiniz ürünlerde multiselect olarak elma armut portakal olsaydı raporda bu ürünler seçilmiştir diye ayrıca belirtilecekti..
benim yapmak istediğim sayın beab05 bir periyodik iş takibi ben 20 adet metin kutusuna haftalık olarak periyod verdiriyorum.ama sınırlı olduğu için 20 hafta sonra işi göremiyorum ben de forma liste kutusu ekledim burda liste kutusunun tıklandığında özelliğine bu 20 adet metin kutusunu açıldığı tarihe göre yeniden periyod verdiriyorum.ancak yapılacak işin üzerine tıklandığında düzenliyor.ben form açıldığında liste kutusuna gelen bütün işlerin otomatik tıklanmasını istiyorum.yani sonuç olarak tüm işler tıklanınca tekrarlı olarak periyod tarihlerini düzenliyecek.istediğim bu.iyi çaalışmalar
Neden 20 adet metin kutusu her iş için ayrı bir tablo yapsanız ve o işe bağlı diğer bir tablo, örneğin işin süresi birimi falan gibi bu tabloları ilşikilendirseniz ve sürekli forma dönüştürseniz yine aynı form üstüne liste kutusu yapsanız ister hepsini ister birkaçını ya da tek seçseniz ona göre sekmeli verileniz gelse (veri sayfası da olabilir) .. Gördüğünüz gibi belki de tamamen alakasız şeyler yazdım çünkü sizi kesinlikle tam anlamadım.. Anladığıma göre de fikrim budur
sayın beab05 sizin dediklerinizi anlayamadım kusura bakmayın ama yaptığım program bunu gerektiriyordu vede fazla alan içermemesi gerekiyordu.bundan dolayı işleri belli bir tarihe kadar periyot verdirip.daha sonra geçmiş olan tarihleri sildirip bugünü tarihi üzerinden tekrar periyod vermek.herşey normal ama listekutusuna gelen yaklaşık 110 işin üzerine tıklamadan tekrar düzenleme yapmıyor.ben tek butonla bu listekutusuna gelen işlerin hepsini tıklanmış olarak gösterip düzenleme yapmasını sağlamak istiyodum.yinede çok sağolun yardımlarınız için tekrar teşekkür ederim .iyi çalışmalar.
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.