Konu: Excele Aktarırken Tarih Formatı
değerli üstadlar;
bir tane tablo var mesela adı ornek olsun. pid, olay, tarih, isim, il ve bilgi de alanları olsun. burada tarih alanı date, bilgi alanı ise memo.
bir tane de form var, kullanıcı bu formdan istediği kriterleri seçiyor, daha sonra butona bastığında veriler excele gönderiliyor. Herhalde Soykan Hocamın foruma vermiş olduğu kodu da kullanarak diğer verileri (tarih ve memo hariç) filtreleyip excele atabiliyorum. Aşağıdaki kodda c1 kullanıcının seçim yaptığı combolardan birisi
select ornek
sorgula="PID>=1"
if .not.alltrim(thisform.c1.value)==""
sorgula=sorgula+".AND.isim=ALLTRIM(thisform.c1.value).AND.olay=ALLTRIM('falan')"
endif
if .not.alltrim(thisform.c2.value)==""
sorgula=sorgula+".AND.il=ALLTRIM(thisform.c2.value).AND.olay=ALLTRIM('falan')"
endif
select ornek
rr=recno()
set filter to &sorgula
set safety off
local oexcel
copy to sys(5)+curdir()+[deneme] type xls
oexcel=createobject("excel.application")
oexcel.application.screenupdating = .f.
oexcel.workbooks.open(sys(5)+curdir()+[deneme])
oexcel.visible=.t.
oexcel.range("a1").select && basliklar a1 de kabul ediyoruz
*oExcel.Range(Cells(1, 1), Cells(1, FCount())).Select
oexcel.selection.autofilter && selectiona gore otomatik filtre yapildi
oexcel.columns().autofit && kolonlar otomatik olarak boyutlandırıldı
oexcel.range("a2").select && a2 de konumlan
oexcel.application.screenupdating = .t.
oexcel=.null.
dolayısıyla bu kodla ismi c1'de seçilen ve ili de c'de seçilen veriyi excele atabiliyorum. Ancak işin içine tarihi de katınca hata veriyor. tarihi de katmak için kodu şöyle denedim:
select ornek
sorgula="PID>=1"
if .not.alltrim(thisform.c1.value)==""
sorgula=sorgula+".AND.isim=ALLTRIM(thisform.c1.value).AND.olay=ALLTRIM('falan').and. ;
tarih between thisform.t1.value and thisform.t2.value"
endif
kodun başı ve sonu aynı, çalıştırınca data type ile ilgili bir hata veriyor, suspend deyince "set filter to &sorgula" satırını işaretliyor. Bu arada, formdaki t1 ve t2 alanlarının formatı {}, ornek tablosunda tarihler 16/10/09 gibi görünüyor. bir de bu tablodan excele attığım başka tarihlerde 16-Oct-09 diye çıkıyor niye onu da anlamadım. Ben galiba hiçbirşeyi anlamıyorum
Bir de memo alanlarını excele atabiliyor muyuz?
mutlu hafta sonları dilerim..