Cần giải đáp về substring trong Access

Liên hệ QC

hoanghau1989

Thành viên mới
Tham gia
9/11/11
Bài viết
4
Được thích
0
mình lam một đề tài về hóa đơn, mình muốn xuất những hóa đơn đến ngày hết hạn mà mình chỉ biết câu lệnh cua sql.

string sql = "select * from CusMoto where [NgayHetHan] like '%' + substring(convert(varchar, getdate(), 103), 4, 7)";

còn vế câu lệnh của Access thi không biết -+*/, pro nào giúp mình với.
 
mình lam một đề tài về hóa đơn, mình muốn xuất những hóa đơn đến ngày hết hạn mà mình chỉ biết câu lệnh cua sql.

string sql = "select * from CusMoto where [NgayHetHan] like '%' + substring(convert(varchar, getdate(), 103), 4, 7)";

còn vế câu lệnh của Access thi không biết -+*/, pro nào giúp mình với.
Hình như phải như sau mới đúng:
sql = "select * from CusMoto where [NgayHetHan] like '* " & substring(convert(varchar, getdate(), 103), 4, 7) & "';"

Bạn gửi ví dụ lên xem thử nhé.
 
Câu lệnh này không hay vì điều kiện là ngày tháng dùng like không hợp lý, đã vậy lại dùng ký tự "%" nữa thì càng vô duyên vì trường dạng date còn ký tự gì nữa đâu
Theo tôi, nên viết:
string sql = "select * from CusMoto where [NgayHetHan] = #" & date(Year,Month,Date) & "#"
 
Nhiều khi cái trường ngày hết hạn đó là 1 chuổi, do vậy nhìn thực tế ví dụ mới biết được anh à. Kí tự % dùng trong VB thay cho * trong Access.
 
Lần chỉnh sửa cuối:
Cảm ơn bạn giải đáp thắc mắc nhưng mình để dzo thì nó không hiện gì cả dù đúng.

Nếu câu sql thì mình sẽ hiên được như vậy, mục đích của mình là vậy nè.



mục đích của câu này là lấy tất cả những hóa đơn hết hạn trong tháng hiện tại

ví dụ: tháng 11/2011 thi lấy tất cả hóa đơn trong tháng 11/2011
 

File đính kèm

  • error.jpg
    error.jpg
    15.3 KB · Đọc: 9
  • error.jpg
    error.jpg
    15.1 KB · Đọc: 6
Lần chỉnh sửa cuối:
Nếu trường [NgayHetHan] là trường ngày tháng thì dùng thế này cho đơn giản, dễ hiểu mà khó sai:

"Where Month([NgayHetHan]) = " & Month(Date()) & " And Year([NgayHetHan]) = " & Year(Date())
 
Nếu trường [NgayHetHan] là trường ngày tháng thì dùng thế này cho đơn giản, dễ hiểu mà khó sai:

"Where Month([NgayHetHan]) = " & Month(Date()) & " And Year([NgayHetHan]) = " & Year(Date())

[NgayHetHan] cua mình là loai string không phải datetime, với lại sao câu của bạn mình làm cũng không được nó cứ lỗi
Đây là bài của mình
View attachment AAA.rar

Database la file Access nên dzo la chạy được luôn, luu ý nếu chạy lên lỗi thi down cái này về la chạy được.
Click vào SAP Crystal Reports, version for Visual Studio 2010 - Click Once (32 Bit), SAP Crystal Reports, version for Visual Studio 2010 - Click Once (64 Bit)


 
Lần chỉnh sửa cuối:
Bạn thử thay dấu * thành % xem sao nhé.

Vẫn không được bạn à mặc dùng không bị lỗi gì, mà bạn cho mình hỏi sao phai có dấu "" ở trong câu '% " & substring(convert(varchar, getdate(), 103), 4, 7) & "' mình để visual studio 2010 thi nó cứ báo lỗi , mà mình bỏ đi chạy lại không được bạn cho mình hỏi bỏ nó di có sao không. hình lỗi cua mình dưới đây.

Anh loi.jpg

Bạn cho mình hỏi luôn trong sql thì cộng chuỗi người ta dùng dấu " + " vậy trong access sql thì người ta dùng gì vậy???
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom