PDA

View Full Version : خالی شدن گرید با تغییر تاریخ



evil boy
چهارشنبه 23 آذر 1390, 19:00 عصر
سلام
3 تا سوال داشتم
من یک فرم دارم با عنوان فاکتور خرید، توی این فرم یکسری اطلاعات ثبت میشه از جمله تاریخ، که تاریخ برنامه از تاریخ جاری سیستم گرفته میشه و البته قابل تغییر است، و اطلاعاتی که ثبت میشه داخل یک گرید نمایش داده میشه،چطوری میتونم با تغییر تاریخ گرید رو خالی کنم؟یعنی گرید فقط یک تاریخ رو نمایش بده

2 - بعد از اینکه کاربر روی دکمه ثبت کلیک میکنه اطلاعات داخل تکست باکسها هم خالی میشه ("" = text1.text)
وقتی یک تکست باکس مثلا "مبلغ" رو کاربر خالی میزاره و دکمه ثبت رو میزنه از ثبت جلوگیری میشه و پیغام مبلغ رو وارد کنید میاد و از آپدیت جلوگیری میشه مشکل اینجاست وقتی این اتفاق میفته و کاربر پیغام رو ok میکنه بقیه تکیت باکس ها هم که پر شده خالی میشه ("" = text1.text
3 - توی همین فرم قیمت ها ثبت میشه و و همزمان جمع قیمت که همون جمع کل میشه محاسبه میشه. مشکل اینجاست که وقتی هیچ رکوردی ثبت نشده قسمت جمع کل پیغام null رو میده، چطوری بگم اگر خالی بود برابر فیلد قیمت قرار بده
ممنون

M.T.P
چهارشنبه 23 آذر 1390, 20:40 عصر
من یک فرم دارم با عنوان فاکتور خرید، توی این فرم یکسری اطلاعات ثبت میشه از جمله تاریخ، که تاریخ برنامه از تاریخ جاری سیستم گرفته میشه و البته قابل تغییر است، و اطلاعاتی که ثبت میشه داخل یک گرید نمایش داده میشه،چطوری میتونم با تغییر تاریخ گرید رو خالی کنم؟یعنی گرید فقط یک تاریخ رو نمایش بده
2 راه وجود داره
1- فیلتر کردن جدول به تاریخ مورد نظر

Rst.Filter = "FldDate = '1390/09/01'"
2- باز کردن رکوردست با شرط تاریخ موردنظر

Rst.Open "Select * From TblName Where FldDate = '1390/09/01'"


2 - بعد از اینکه کاربر روی دکمه ثبت کلیک میکنه اطلاعات داخل تکست باکسها هم خالی میشه ("" = text1.text)
وقتی یک تکست باکس مثلا "مبلغ" رو کاربر خالی میزاره و دکمه ثبت رو میزنه از ثبت جلوگیری میشه و پیغام مبلغ رو وارد کنید میاد و از آپدیت جلوگیری میشه مشکل اینجاست وقتی این اتفاق میفته و کاربر پیغام رو ok میکنه بقیه تکیت باکس ها هم که پر شده خالی میشه ("" = text1.text
خب این بستگی به معماری برنامه داره ، علت تو کدها هست که نگذاشتید.


3 - توی همین فرم قیمت ها ثبت میشه و و همزمان جمع قیمت که همون جمع کل میشه محاسبه میشه. مشکل اینجاست که وقتی هیچ رکوردی ثبت نشده قسمت جمع کل پیغام null رو میده، چطوری بگم اگر خالی بود برابر فیلد قیمت قرار
بده
برای جمع بستن راه های متعددی هست و بهترین راه برای جمع بستن فیلدهای عددی استفاده از تابع Sum در دستورات هست.

Select Sum(FldNumber) As FldSum From TblName

evil boy
پنج شنبه 24 آذر 1390, 10:31 صبح
ممنون دوست عزیز
در مورد سوال اول تاریخ هر روز تغییر میکنه و ممکن است کاربر اون رو تغییر بده،من با DataEnvironment کار میکنم،ممنون میشم بیشتر توضیح بدید

سوال دوم:

If Text6.Text = "" Then
MsgBox "áØÝÇ ÔÑÍ ˜ÇáÇ ÑÇ ãÔÎÕ ˜äíÏ", vbInformation + vbOKOnly, "Message!"
DataEnvironment1.rsfaktor.Cancel
Text6.SetFocus
Else
DataEnvironment1.rsfaktor.AddNew
DataEnvironment1.rsfaktor!tarikh = MaskEdBox1.Text
DataEnvironment1.rsfaktor!namforoshande = Text2.Text
DataEnvironment1.rsfaktor!shomaref = Text3.Text
DataEnvironment1.rsfaktor!adress = Text4.Text
DataEnvironment1.rsfaktor!code = Text5.Text
DataEnvironment1.rsfaktor!namkala = Text6.Text
DataEnvironment1.rsfaktor.Update
End If
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""


درمورد سوال سوم جمع رو با sql انجام میدم

SELECT SUM(gheymat) AS kol
FROM faktorkharid
و

DataEnvironment1.rsfaktor!jamkol = DataEnvironment1.rsjamfaktor!kol
Text2.Text = DataEnvironment1.rsfaktor!jamkol

اولین رکورد رو پیغام زیر رو میده
پیغام (http://www.pic.iran-forum.ir/images/5nweer4bljmdtmmn9uq2.jpg)

M.T.P
پنج شنبه 24 آذر 1390, 10:57 صبح
سوال 2


If Text6.Text = "" Then
MsgBox "???C O?? ?C?C ?C ?OI? ???I", vbInformation + vbOKOnly, "Message!"
DataEnvironment1.rsfaktor.Cancel
Text6.SetFocus
Else
DataEnvironment1.rsfaktor.AddNew
DataEnvironment1.rsfaktor!tarikh = MaskEdBox1.Text
DataEnvironment1.rsfaktor!namforoshande = Text2.Text
DataEnvironment1.rsfaktor!shomaref = Text3.Text
DataEnvironment1.rsfaktor!adress = Text4.Text
DataEnvironment1.rsfaktor!code = Text5.Text
DataEnvironment1.rsfaktor!namkala = Text6.Text
DataEnvironment1.rsfaktor.Update
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
End If


اولین رکورد رو پیغام زیر رو میده
برای بررسی فیلد با مقدار Null ابتدا با تابع IsNull بررسی کنید ، بعد مقدار رو نمایش بدید:



If IsNull(DataEnvironment1.rsfaktor!jamkol) Then
Text2.Text = "0"
Else
Text2.Text = DataEnvironment1.rsfaktor!jamkol
End If

evil boy
شنبه 03 دی 1390, 12:25 عصر
از دوستان کسی در مورد سوال 1 و 3 نظری نداره؟ مشکل هنوز پاربرجاست