Skip to main content

AccessTr.neT


Whatsaap A Göndermek İçin Formatlı Metin Hazırlama Hk.

Whatsaap A Göndermek İçin Formatlı Metin Hazırlama Hk.

Çözüldü #1
Merhaba arkadaşlar, Uygulamamda bir butona basarak whatsaap a mesaj olarak aktarıyorum. Fakat, alt alta gösterilen bayii isimleri, ürünler ve fiyatları süzülerek alt alta listeleniyor. Bayii isimleri,ürünler,fiyat şeklinde 3 sütun olarak alt alta listelenen bu kayıtlar whatsaap mesaj bölümünde girintili olarak görünüyor. Listelenen bu kayıtları alanın maxsimum uzunluğuna uygun olarak nasıl düzenleyebilirim.

Teşekkür ederim.

PadRight karşılığı bir fonksiyon denedim, vbTab ifadesini denedim. vbTab Msgbox da çalışıyor fakat whatsaap da çalışmıyor. Ayrıca, vbTab çalışsa bile bayii isimleri farklı uzunlukta olacağından yine girinti oluşacak. PadRight karşılığı fonksiyonda girintiyi engellemedi. PadRight karşılığı fonksiyon eğer Liste Kutusu yada Textbox da fontu "Curier Font" olarak ayarlarsam düzgün gösteriyor.
.rar Mesaj V2.rar (Dosya Boyutu: 34,7 KB | İndirme Sayısı: 9)
Son Düzenleme: 10/09/2023, 17:41, Düzenleyen: axionvb.
Cevapla
#2
Private Sub btnGonder_Click()
    Dim db As DAO.Database
    Dim rs As Recordset
    Dim strSQL As String
    Dim Adi As String
    Dim Tel As String
    Dim TC As String
    Dim Bayii As String
    Dim Urunler As String
    Dim Fiyat As Double
    Dim Msg As String
   
    strSQL = "SELECT * FROM Tablo2 WHERE [ID_TABLO1]=" & Me.ID
    Set db = CurrentDb
    Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
   
    If (rs.EOF) Then
        rs.Close
        Set rs = Nothing
        Set db = Nothing
    Else
        Adi = Me.ADISOYADI
        TC = Me.TC
        Tel = Me.TELEFON
        Msg = "Adı Soyadı: " & Adi & vbCrLf
        Msg = Msg & "T.C No: " & TC & vbCrLf
        Msg = Msg & "Telefon: " & Tel & vbCrLf
        Msg = Msg & vbCrLf ' Boş bir satır ekleyebilirsiniz.
       
        ' Sütun başlıkları belirli bir uzunluğa sahip olacak şekilde hizalanır.
        Msg = Msg & "Bayii Adı" & Space(40 - Len("Bayii Adı")) & "Ürünler" & Space(30 - Len("Ürünler")) & "Fiyatı" & vbCrLf
        Msg = Msg & String(60, "_") & vbCrLf ' Alt çizgiyi ekleyebilirsiniz.
       
        While (Not (rs.EOF))
            Bayii = rs("BAYII")
            Urunler = rs("URUNLER")
            Fiyat = rs("FIYAT")
           
            ' Sütunlar belirli uzunluklara sahip olacak şekilde hizalanır.
            Msg = Msg & Bayii & Space(40 - Len(Bayii)) & Urunler & Space(20 - Len(Urunler)) & Format(Fiyat, "0.00") & vbCrLf
            rs.MoveNext
        Wend
        MsgBox Msg, vbInformation, "Mesaj İçeriği"
        rs.Close
        Set rs = Nothing
        Set db = Nothing
    End If
End Sub
boşukları kendin ayarlamaya çalış
umarım işinize yarar
Cevapla
#3
(10/09/2023, 18:35)C*e*l*o*y*c*e yazdı: Private Sub btnGonder_Click()
    Dim db As DAO.Database
    Dim rs As Recordset
    Dim strSQL As String
    Dim Adi As String
    Dim Tel As String
    Dim TC As String
    Dim Bayii As String
    Dim Urunler As String
    Dim Fiyat As Double
    Dim Msg As String
   
    strSQL = "SELECT * FROM Tablo2 WHERE [ID_TABLO1]=" & Me.ID
    Set db = CurrentDb
    Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
   
    If (rs.EOF) Then
        rs.Close
        Set rs = Nothing
        Set db = Nothing
    Else
        Adi = Me.ADISOYADI
        TC = Me.TC
        Tel = Me.TELEFON
        Msg = "Adı Soyadı: " & Adi & vbCrLf
        Msg = Msg & "T.C No: " & TC & vbCrLf
        Msg = Msg & "Telefon: " & Tel & vbCrLf
        Msg = Msg & vbCrLf ' Boş bir satır ekleyebilirsiniz.
       
        ' Sütun başlıkları belirli bir uzunluğa sahip olacak şekilde hizalanır.
        Msg = Msg & "Bayii Adı" & Space(40 - Len("Bayii Adı")) & "Ürünler" & Space(30 - Len("Ürünler")) & "Fiyatı" & vbCrLf
        Msg = Msg & String(60, "_") & vbCrLf ' Alt çizgiyi ekleyebilirsiniz.
       
        While (Not (rs.EOF))
            Bayii = rs("BAYII")
            Urunler = rs("URUNLER")
            Fiyat = rs("FIYAT")
           
            ' Sütunlar belirli uzunluklara sahip olacak şekilde hizalanır.
            Msg = Msg & Bayii & Space(40 - Len(Bayii)) & Urunler & Space(20 - Len(Urunler)) & Format(Fiyat, "0.00") & vbCrLf
            rs.MoveNext
        Wend
        MsgBox Msg, vbInformation, "Mesaj İçeriği"
        rs.Close
        Set rs = Nothing
        Set db = Nothing
    End If
End Sub
boşukları kendin ayarlamaya çalış
umarım işinize yarar

Merhaba,
Cevap yazdığınız için teşekkür ederim. Benim hazırladığıma göre nispeten daha düzenli bir görüntü çıktısı veriyor. Fakat, yine de girinti oluşuyor. Muhtemelen farklı uzunluklarda ki textlerde girinti daha belirgin olacaktır.
Cevapla
#4
Msgbox formatlama özelliğine sahip değildir o yüzden satır sütun gibi net yapılar oluşturamazsınız. Bunun yerine msgbox işlevi görecek bir modal form tasarlayabilirsiniz.
Cevapla
#5
(11/09/2023, 02:53)atoykan yazdı: Msgbox formatlama özelliğine sahip değildir o yüzden satır sütun gibi net yapılar oluşturamazsınız. Bunun yerine msgbox işlevi görecek bir modal form tasarlayabilirsiniz.

Merhaba,
Cevap için teşekkür ederim. Haklısınız "MsgBox" formatlama yapılamıyor. Bunun yerine modal bir form tasarlayıp üzerine tek bir Label ekleyerek mesajı buraya yazdırabilirim. Label fontunu da "Courier New" yaparsam ekran çıktısı düzgün oluyor. Yada normal kontrolleri ekleyip verileri kontrollerde gösterebilirim.

Bu aşamadan sonra form üzerine tıklandığında çalışacak kod bloguna, form görüntüsünü resim olarak kaydet ve resmi whatsaap a gönder komutlarını yazmak şeklinde çözülebilir diye düşünüyorum. Whatsaap a resim gönder komutları var ve çalışıyor sorun ekran görüntüsünü resim formatında sabit bir klasöre yazdırmak. Bu işleme ait kodlara ihtiyacım var.

Teşekkür ederim.
Cevapla
#6
Formu resim olarak değil pdf olarak kaydedebilirsiniz.

PDF olarak kaydetmek için örnek kod olarak şunu kullanabilirsiniz:
Kod:
Dim FileName As String
Dim FilePath As String
FileName = "Dosyanıza vermek istediğiniz ad"
Filepath = "C:\Klasörünüzün Adı\" & FileName & ".pdf"
DoCmd.OutputTo acOutputForm, Me.Name, acFormatPDF, Filepath

Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da