Sayın hocalarım
srg_aboneler sorgusundan alt form yerine Liste kutusu oluşturdum.
Yalnız burada Listede veya alt formda Musterı adının çift yazılması yerine
Abone adının,Gelecektarihini Tek yazamazmıyız ?
Ayrıca alt formda yer alan verilerin gelecektarih bu gün ise,bu tarihten bir gün önce listelemesi ve uyarı msj.vermesini sağlamak mümkünmü.
Saygılarımla.
Liste kutusunda Aynı Kişiye Ait Verileri Yan Yana Yazdırma
F_GIRIS isimli formdaki Liste kutusunda aynı kişiye ait 2 satır olmasının sebebi, bu kişiye ait 2 farklı ürün olması. 1. satırda tavuk, 2. satırda yumurta listeleniyor.
Tek veri olmasını istiyorsanız liste kutusundan bu sütunları kaldırmalısın.
Tek veri olmasını istiyorsanız liste kutusundan bu sütunları kaldırmalısın.
Sayın Ozan hocam,
Haklısınız 2 çeşit ürün var,benimde takıldığım nokta bu,Şöyle bişey olamazmı ürünleri vede miktarları yan yana yazamazmıyız.
Saygılarımla.
Haklısınız 2 çeşit ürün var,benimde takıldığım nokta bu,Şöyle bişey olamazmı ürünleri vede miktarları yan yana yazamazmıyız.
Saygılarımla.
Konu başlığı Değiştirilmiştir.
Yeni sorgu oluştur, Sql koduna aşağıdakileri yaz
yeni modül oluştur, aşağıdakileri yaz.
Formdaki liste kutusunun satır kaynağını yeni sorgu olacak şekilde düzenle
Yeni sorgu oluştur, Sql koduna aşağıdakileri yaz
SELECT srg_aboneler.MUSTERIADI, srg_aboneler.fark, srg_aboneler.sonsiparistarihi, srg_aboneler.gelecektarih, srg_aboneler.MUSTERIDURUM, ConcatRelated("URUNADI & ' (' &ortalama & ')'","srg_aboneler") AS urunleri
FROM srg_aboneler
GROUP BY srg_aboneler.MUSTERIADI, srg_aboneler.fark, srg_aboneler.sonsiparistarihi, srg_aboneler.gelecektarih, srg_aboneler.MUSTERIDURUM, ConcatRelated("URUNADI & ' (' &ortalama & ')'","srg_aboneler");
yeni modül oluştur, aşağıdakileri yaz.
Option Compare Database
Public Function ConcatRelated(strField As String, _
strTable As String, _
Optional strWhere As String, _
Optional strOrderBy As String, _
Optional strSeparator = ", ") As Variant
On Error GoTo Err_Handler
Dim rs As DAO.Recordset
Dim rsMV As DAO.Recordset
Dim strSql As String
Dim strOut As String
Dim lngLen As Long
Dim bIsMultiValue As Boolean
ConcatRelated = Null
strSql = "SELECT " & strField & " FROM " & strTable
If strWhere <> vbNullString Then
strSql = strSql & " WHERE " & strWhere
End If
If strOrderBy <> vbNullString Then
strSql = strSql & " ORDER BY " & strOrderBy
End If
Set rs = DBEngine(0)(0).OpenRecordset(strSql, dbOpenDynaset)
bIsMultiValue = (rs(0).Type > 100)
Do While Not rs.EOF
If bIsMultiValue Then
'For multi-valued field, loop through the values
Set rsMV = rs(0).Value
Do While Not rsMV.EOF
If Not IsNull(rsMV(0)) Then
strOut = strOut & rsMV(0) & strSeparator
End If
rsMV.MoveNext
Loop
Set rsMV = Nothing
ElseIf Not IsNull(rs(0)) Then
strOut = strOut & rs(0) & strSeparator
End If
rs.MoveNext
Loop
rs.Close
'Return the string without the trailing separator.
lngLen = Len(strOut) - Len(strSeparator)
If lngLen > 0 Then
ConcatRelated = Left(strOut, lngLen)
End If
Exit_Handler:
'Clean up
Set rsMV = Nothing
Set rs = Nothing
Exit Function
Err_Handler:
MsgBox "Error " & Err.Number & ": " & Err.Description, vbExclamation, "ConcatRelated()"
Resume Exit_Handler
End Function
Formdaki liste kutusunun satır kaynağını yeni sorgu olacak şekilde düzenle
Sayın Ozan hocam,
Cevabınız ve emeğiniz için sonsuz teşekkürler.
Saygılarımla.
Cevabınız ve emeğiniz için sonsuz teşekkürler.
Saygılarımla.
Konuyu Okuyanlar: 1 Ziyaretçi