AccessTr.neT

Tam Versiyon: Ölçüt ifadesinde veri uyuşmazlığı hatası
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
Örnekteki; sorgula butonuna bastığımda,
ölçüt ifadesinde veri uyuşmazlığı hatasını alıyorum.
Tablodaki alan biçimleri aynı olmasına rağmen
hatayı düzeltemedim.Sorgu'yu text olarak menu'ye çıkardım.Bir hata
gözükmüyor gibi ama sorgu sonucunu göremiyorum.
Sn x914667,

VB kodunuzu inceledim.

Bende 2008 olmadığı için direct cevap yazamıyorum fakat sorununuz belli.

SQL sorgularında tarih ölçütü veriyorsanız tırnak işaretleri altında " değil # ile başlamanız gerekir, verdiği hatanın kaynağı budur.

Artı birde şuna dikkat etmeniz gerekir Sql ile sorgunuzu kısıtlıyorsanız tarihi

Gun/Ay/Yıl diye değilde Ay/Gün/yıl formatına dönüştürmeniz veya girdiyi bu formatta almanız lazım..İnşallah yardımcı olabilmişimdir.

WHERE (((T01.Tarih)<=#10/2/2010# And (T01.Tarih)>=#10/1/2010#))

Lütfen olumlu veya olumsuz geri dönüş yapınız...




Hocam;

Sorgunun tarih aralıklarındaki '" işaretleri aralıkların değişkenlerden gelmesinden
dolayıdır.Söylediğiniz gibi bunları kaldırıp # işareti koyduğumda tarih
aralık değişkenlerini tanımadı.
VisualBasic.Net ten anlamıyorum C# tan az çok anlarım ama baktığım kadarıyla mantık aynı. Ne de olsa .Net değilmi harika birşey iki dil biliyor gibi oluyorsunuz. Neyse şimdi neler yapmalısınız ona bakalım:

- Access'te tarihleri sorgulamanız için aa/gg/yyyy formatına çevirmeniz lazım.


Dim ilktarih, sontarih As String
ilktarih = Convert.ToDateTime(startdate).Month.ToString & "/" & Convert.ToDateTime(startdate).Day.ToString & "/" & Convert.ToDateTime(startdate).Year.ToString
sontarih = Convert.ToDateTime(enddate).Month.ToString & "/" & Convert.ToDateTime(enddate).Day.ToString & "/" & Convert.ToDateTime(enddate).Year.ToString

Ben Sql kodunuzu kısalttım siz olması gerektiği gibi düzenlersiniz.


sqlcmdtext2 = "select * from " & Table & " where (Tarih <= #" & ilktarih & "#) or (Tarih >= #" & sontarih & "#)"

Metin kutusundaki değerler String'tir bunları Convert ile istediğiniz değişken türüne çevirmeniz lazım. Bende gayet güzel çalıştı problem yok.
Hocam;

Yönlendirmeniz için teşekkür ederim.
Çözümü buldum.Sizin bahsettiğiniz diyez(#) ile tarih formatındaki gösterim şeklinden
kaynalanıyormuş.Zaten onu
Public Sub Reset_Dates(ByVal textbox_end As TextBox, ByVal textbox_start As TextBox)
textbox_end.Text = Now.Month & "/" & Now.Day & "/" & Now.Year & " " & Now.Hour & ":" & Now.Minute & ":" & Now.Second
textbox_start.Text = DateAdd(DateInterval.Day, -1, Now).Month & "/" & DateAdd(DateInterval.Day, -1, Now).Day & "/" & DateAdd(DateInterval.Day, -1, Now).Year & " " & DateAdd(DateInterval.Day, -1, Now).Hour & ":" & DateAdd(DateInterval.Day, -1, Now).Minute & ":" & DateAdd(DateInterval.Day, -1, Now).Second
End Sub
buraya koymuştum ama aradaki işaretler "." şeklinde idi.
Teşekkürler.Gece yarısı uğraştırdım.
Sn x0914667,

Ekteki örneği incelermisiniz.

Lütfen olumlu veya olumsuz geri dönüş yapınız.

Not : 2010 ile yapılmıştır.
Sn alpeki99,

Yönlendirmenizi ve dinamizminizi takdir ediyorum... Teşekkürler.
Sayfalar: 1 2 3