Worde aktarda yapmam gereken son iş

1 2 3 4
01/04/2014, 22:37

MESUTTR

Merhabalar Üstadlar :
Sıkıntılı ama öncelikle tereddütlü bir durumum var.
worde aktarma konusunda bir yere kadar geldim ancak, bir yerde tıkandım bana yardımcı olur musunuz?
mesele şu bir veri alanına girilen birden fazla veriyi wordde bir textte bir takım kurallar halinde enjekte etmek daha kolay anlatımı programa bir imla kuralı öğretmek gibi.. Ekte sundum örnek veri tabanını eğer bu işi de yapabilirsem programım tastamam ve harika olacak. Lütfen yardımcı olun!
örnek tc kimlik,adı soyadı alanım var aktarabiliyorum detay,süs istemiyor.
ancak örneğin : word dosyasının örnek kısmında da göstermeye çalıştığım elimdeki tekste bazı verileri virgüllerle veya tirelerle aktarmam gerekiyor. Bu aldığı ürünler ve dolayısıyla bunları ürün kodları kısmı tekse mesela sorun yok hiç bir hiç bir şekilde işaret kullanmadan bunu yansıtmalı ancak birden fazla ise sonuncuya gelene kadar virgül "," sonuncuda ise "ve" bağlacı kullanıp aktarımı bitirmeli. Daha herhangi bir işaret kullanmamalı
böyle bir şeyi düzenlemem mümkün mü? Mümkün ise nasıl yapabilirim
yardımcı olur musunuz lütfen!
Merhabalar Üstadlar nlatımı programa bir imla kuralı öğretmek gibi.. Ekte sundum örnek veri tabanını eğer bu işi de yapabilirsem programım tastamam ve harika olacak. Lütfen yardımcı olun!
örnek tc kimlik,adı soyadı alanım var aktarabiliyorum detay,süs istemiyor.
ancak örneğin : word dosyasının örnek kısmında da göstermeye çalıştığım elimdeki tekste bazı verileri virgüllerle veya tirelerle aktarmam gerekiyor. Bu aldığı ürünler ve dolayısıyla bunları ürün kodları kısmı tekse mesela sorun yok hiç bir hiç bir şekilde işaret kullanmadan bunu yansıtmalı ancak birden fazla ise sonuncuya gelene kadar virgül "," sonuncuda ise "ve" bağlacı kullanıp aktarımı bitirmeli. Daha herhangi bir işaret kullanmamalı
böyle bir şeyi düzenlemem mümkün mü? Mümkün ise nasıl yapabilirim
yardımcı olur musunuz lütfen!
02/04/2014, 00:17

ozanakkaya

Veritabanınızda 2 tablo olmalı, 1. tabloda müşteri bilgileri, 2. tabloda ise müşterinin aldığı ürünler ve ürün kodları olmalı.
Sizin eklediğiniz örnekteki gibi tek tablo olursa müşteriye ait 5 ürün var ise formda ilk 5 kayıt aynı müşteriye ait olur.

Örneğinizi eklediğiniz haliyle düzenleme yaptım, umarım hatanızı düzeltirsiniz.
02/04/2014, 21:36

MESUTTR

Tekrar Merhaba, iyi akşamlar Sayın Ozanakkaya;
evet üstad aynı öyle olmalı zaten:
bir müşterinin aldığı ürün çeşidini, her kalem ürünü o kişiye ait olarak kayıtta tutacağım ve wordde de yansıtırken o şekilde yansıtacağım(elimden şablon text öyle) ancak bunlar kafamda problem değil, kafamdaki problem şu düzen işi,
mesela ; worde yansıtırken
ürün kalemlerini şu şekilde yansıtıyor.
Aldığı Ürünler: ,çorba,makarna,pirinç, (bilhassa "," virgüllere dikkat)
bense şöyle istiyorum:mesela üç kalem ise
Aldığı Ürünler: çorba,makarna ve pirinç
yani bu bir kalem ürün ise her hangi bir virgül veya bağlaç olmayacak
iki kalem ürün ise ikisinin arasına bağlaç gelecek örnek: çorba ve makarna
eğer üç kalem ve daha fazla ise aralarına sonuncuya gelene kadar sonuncunun önüne de bağlaç olacak.
yukarıda değindiğim gibi : dolap
dolap ve makine
dolap,makine ve çekmece
üstad buraya kadar yardım için teşekkür ederim hemde çok teşekkür ederim. Ama gerçekten merak ediyorum. Böyle bir şey yapabilir miyim. Bunu da bana samimiyetle açıklar mısın? Yaptığım programa böyle bir şeyi entegre edebilirsem, güzel olur , ama yok da olmaz ise canınız sağolsun yine de teşekkürler..
cevabınızı merakla bekliyorum..
bu sessizlik mümkün değil anlamına mı geliyor
yine de teşekkürler
10/04/2014, 14:39

ozanakkaya

Önceki mesajınız gözümden kaçmış, örnek uygulamanızı yeniledim.
11/04/2014, 22:36

MESUTTR

Üstad sen ne yaptın allah aşkına tam da ümidi kestimdi bu ne yaw abi bana bir telefon ver ya allah aşkına şu işi özellikle şu kısmı öğrenip derhal uygulamaya koymam lazım nasıl yaptın detaylı anlatır mısın
işin aslını bana bi açıkla (lar mısın?)
Çok çok özür dilerim geç gördüm dediğim gibi ümidi kestimdi
başta ümitsizdim zaten
ama bir şey söylesem yeni kayıt dediğimde bu sefer alt forma giremez oluyorum neden?
bişey mi eksik?
hadi kodları sonraki kısmını hatılıyorum:
ama önceki kısmı yani şu kısmı
ne neyi ifade ediyor:
Private Sub Form_Current()
Me.Liste71.Requery
End Sub

Private Sub oluştur_Click()
On Error Resume Next
Dim WordApp As Word.Application
Dim yol As String
Dim Urunler, Kodlar As Variant
Urunler = ""
Kodlar = ""


For x = 0 To Me.Liste71.ListCount - 2

Urunler = Urunler & ", " & Me.Liste71.Column(0, x)
Kodlar = Kodlar & ", " & Me.Liste71.Column(1, x)

Next x

Urunler = Urunler & " ve " & Me.Liste71.Column(0, Me.Liste71.ListCount - 1)
Urunler = Right([Urunler], Len([Urunler]) - 2)
Kodlar = Kodlar & " ve " & Me.Liste71.Column(1, Me.Liste71.ListCount - 1)
Kodlar = Right([Kodlar], Len([Kodlar]) - 2)
12/04/2014, 19:04

ozanakkaya

Liste kutusunun 1. sütununda ürünler Çorba, Makarna, Pirinç. 2. sütunda da 1535, 3553 ve 3150 listelenmiş.

1. sütundaki verilere ulaşmak için liste71.column(0,x) 2. sütundaki verilere ulaşmak için liste71.column(1,x) kodu kullandım.

1. sütun, 1. satırdaki veri liste71.column(0,0) 1. sütun 2. satırdaki veri liste71.column(0,1) olduğu için for-next döngü kodu ekledim.

For x = 0 To Me.Liste71.ListCount - 2
Urunler = Urunler & ", " & Me.Liste71.Column(0, x)
Kodlar = Kodlar & ", " & Me.Liste71.Column(1, x)
Next x

Buradaki Me.Liste71.ListCount kodu liste kutusundaki satır sayısını yani 3'ü verir. 3 satır veriden ilk ikisini almak için Liste71.ListCount - 2 yazdım.
Yani for x = 0 to 1

kodun sonundaki next x kodu döngünün "to Liste71.ListCount - 2" yani 1 olana kadar devam etmesi için. 0 to 1 olduğu için 2 kere çalışacak.

Kod çalıştığında Urunler'e 0 için ",Çorba". 1 için ",Çorba, Makarna" yazacak.
Urunler = Urunler & ", " & Me.Liste71.Column(0, x)

Kodlar'a da 0 için ",1535" 1 için ",1535, 3553" yazacak.
Kodlar = Kodlar & ", " & Me.Liste71.Column(1, x)




Urunler = Urunler & " ve " & Me.Liste71.Column(0, Me.Liste71.ListCount - 1)

bu kod ile Urunler'e yazdırdığımız ",Çorba, Makarna" kodunun sonuna Liste71.ListCount - 1 satırındaki veriyi başına "ve" ekleterek yazdırıyoruz. ",Çorba, Makarna ve Pirinç" oluyor.

Kafa karıştıran durumu açıklayayım. Liste kutusundaki 1. satır column(0), 2. satırdaki veri column(1) 3. satırdaki veri column(2) olduğu için 3. satıra ulaşmak için Liste71.ListCount - 1, yani 3-1=2 yazdım. "ve" yazısından sonra Me.Liste71.Column(0, 2) verisine ulaştım.


Urunler = Right(Urunler, Len(Urunler) - 2)

bu kod ile ",Çorba, Makarna ve Pirinç" verisinin başındaki "," hariç geri kalanını, bize lazım olanını aldım.

Umarım yazdıklarım anlaşılır.
1 2 3 4