Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: А можно извернуться?
 
 автор: час   (09.02.2010 в 14:41)   личное сообщение
 
 

У мну рекордсет - данные за месяц


 Me!DataGrid1.Caption = "Данные за  текущий месяц."
 STR_SQL = "SELECT SALE_TBL.* FROM SALE_TBL"
Adodc1.ConnectionString = GLB_CONNECTION
Adodc1.RecordSource = STR_SQL

Как бы с этим рекордсетом Adodc1.Recordset
поработать, что бы данные за периоды вы ковыривать , например за день.
========================
Положил я на форму
два контрола DTPicker1, и DTPicker2
========================
и сижу - чешу
бошку....


можно ли запрос к рекордсету задать?

  Ответить  
 
 автор: Explorer   (09.02.2010 в 14:46)   личное сообщение
 
 

DateDiff

или ты чешешь как передать значение переменной из формы?

  Ответить  
 
 автор: час   (09.02.2010 в 14:52)   личное сообщение
 
 

Это Вы предвосхитили второй вопрос....
Чешу как конструкцию этого запроса написать к рекордсету....
Может как то фильтр применить?

  Ответить  
 
 автор: Explorer   (09.02.2010 в 14:56)   личное сообщение
 
 

я не понял насчет фильтра...

в общем случае SELECT * FROM TableName WHERE RecordDate BETWEEN datFirstDate AND datSecondDate

но если выбирать нужно фиксированнными интервалами за <1> месяц-неделю-день то можно в DATEDIFF передавать только офсет день-неделя-год

  Ответить  
 
 автор: час   (09.02.2010 в 14:58)   личное сообщение
 
 

ну - вот так

Adodc1.Recordset.Filter = "DATE_RACORDS = me!DTPicker1"



тока как то beetwen присобачить.......

  Ответить  
 
 автор: Lukas   (09.02.2010 в 14:53)   личное сообщение
 
 

Filter?
Но по сути это новый запрос к источнику.

  Ответить  
 
 автор: час   (09.02.2010 в 15:00)   личное сообщение
 
 

' Вот так забабахать......
"

 Adodc1.Recordset.Filter = "DATE_RACORDS >= me!DTPicker1 AND  DATE_RACORDS <= me!DTPicker1  

  Ответить  
 
 автор: Explorer   (09.02.2010 в 15:03)   личное сообщение
 
 

два датапикера - это отстой ИМХО

  Ответить  
 
 автор: час   (09.02.2010 в 15:04)   личное сообщение
 
 

  Ответить  
 
 автор: час   (09.02.2010 в 15:04)   личное сообщение
 
 

Простите- вырвалось....
====================
А как же период() задавать???

  Ответить  
 
 автор: Explorer   (09.02.2010 в 15:07)   личное сообщение
 
 

:)

если ты выбираешь DateAdd или DateDiff то можно передавать одну дату и интервал

  Ответить  
 
 автор: час   (09.02.2010 в 15:10)   личное сообщение
 
 

MonthView - период не даст........
их то же двух надо зажимать.....

  Ответить  
 
 автор: Explorer   (09.02.2010 в 15:13)   личное сообщение
 
 

если используешь DateDiff и DateAdd можно передавать квантор и множитель

<год-месяц-неделя-день> + <1-2-3...n>

  Ответить  
 
 автор: час   (09.02.2010 в 15:11)   личное сообщение
 
 

ZZZZZZZZZZZ не улавливаю ход наших мыслей

  Ответить  
 
 автор: Explorer   (09.02.2010 в 15:16)   личное сообщение
 
 

это размышления про сферического коня в вакууме

если в функциях не нужны две даты - зачем их передавать

для DateDiff и DateAdd две даты не нужны
нужна одна дата квантор и множитель

  Ответить  
 
 автор: Силblч   (09.02.2010 в 15:23)   личное сообщение
 
 

или про конического утконоса в парафине

  Ответить  
 
 автор: Lukas   (09.02.2010 в 15:12)   личное сообщение
 
 


DATE_RACORDS >= me!DTPicker1 AND  DATE_RACORDS <= me!DTPicker1 

И откуда jet-у знать, что есть такое me и DTPicker1?
Только ЗНАЧЕНИЯ!

  Ответить  
 
 автор: час   (09.02.2010 в 15:30)   личное сообщение
 
 




Adodc1.Recordset.Filter = "DATE_RECORDS >= " & Me!DTPicker1 & " AND  DATE_RECORDS <= " & Me!DTPicker2

  Ответить  
 
 автор: час   (09.02.2010 в 15:53)   личное сообщение
 
 


Private Sub DTPicker2_Change()
Me!STR_GAIN = ""
Adodc1.Recordset.Filter = "DATE_RECORDS >= " & Me!DTPicker1 & " AND  DATE_RECORDS <= " & Me!DTPicker2
Dim STR_SUMMA As Currency
Dim str_AMOUNT As Currency

If Not Adodc1.Recordset.BOF Then
    Do While Not Adodc1.Recordset.EOF ' заполняем
        STR_SUMMA = STR_SUMMA + (Adodc1.Recordset("PRICE_COMMODITY") * Adodc1.Recordset("AMOUNT"))
        Adodc1.Recordset.MoveNext
    Loop
'Me!STR_GAIN = FUN_Currency_String_In_String(STR_SUMMA)
Me!STR_GAIN = STR_SUMMA
Me!STR_GAIN = FUN_Currency_String_In_String(Me!STR_GAIN)
End If
End Sub


Отпахало - нормально....

  Ответить  
 
 автор: Lukas   (09.02.2010 в 15:57)   личное сообщение
 
 


Dim STR_SUMMA As Currency 

  Ответить  
 
 автор: час   (09.02.2010 в 16:00)   личное сообщение
 
 

Это ещё, что


str_AMOUNT As Currency

  Ответить  
 
 автор: Explorer   (09.02.2010 в 16:41)   личное сообщение
 
 

угу я минут шесть вчитывался


STR_SUMMA + (Adodc1.Recordset("PRICE_COMMODITY") * Adodc1.Recordset("AMOUNT")) 


с мыслю - какой резон может быть в умножении цены на сумму (AMOUNT)
тем более что AMOUNT задан как Currency

------------------------------------------------------

о количестве (выраженном численно) лучше говорить QUANTITY или NUMBER
AMOUNT говорят о несчисляемых объектах (Amount of Work) или в общем о размере массива таких объектов (Huge Amount or Full Amount etc.) или о сравгнительном отношении - относительном выражении (15% of Total Amount of <...>)

  Ответить  
 
 автор: Lukas   (09.02.2010 в 16:53)   личное сообщение
 
 

Дубль, сори.

  Ответить  
 
 автор: Lukas   (09.02.2010 в 16:55)   личное сообщение
 
 

Блин, а ведь точно.
И я, бестолочь, "AMOUNT" неправильно пользую, как итоговую сумму.
От меня тоже спасибо Explorer-у.

  Ответить  
 
 автор: час   (09.02.2010 в 19:09)   личное сообщение
 
 

а я блин начитался на переводчике
amount , Существительное
1. количество с

amount , Глагол
1. составлять
2. означать
=======================
Сами то мы местные и по аглицки не рубим..........

  Ответить  
 
 автор: час   (09.02.2010 в 19:16)   личное сообщение
 
 

Всем спасибо - за помощь
Остался не решенным вопрос
Dim str_AMOUNT As Currency - какой тип переменной юзать для количества - возможно дробного

  Ответить  
 
 автор: Explorer   (09.02.2010 в 19:54)   личное сообщение
 
 


1. количество с



это не в том смысле количество.
если ты применяешь к счисляемым, то нужно Sum Count Number Pices и т.п.

amount можно как общая сумма денег - напр. Invoice Amount

в общем вольному воля - кое кто и штуки в Currency считает :) хотя...

"штука" - может быть и нормально для Currency - пять штук - шесть штук (раньше было "кусок" пять кусков - шесть кусков)

  Ответить  
 
 автор: час   (09.02.2010 в 20:53)   личное сообщение
 
 

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList