Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Условие отбора для поля даты (по числу в месяце), Нужно отобразить значения в периоде 
:(
    Опции темы
Doss
Дата 26.7.2009, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Всем боьшой и красочный салют!!! Но мне не до него... smile 
Ситуация такая: Пишу прогу для учета финансовых средств. Есть доход, есть расход. Так вот в конце каждого года нужно закрывать проходящий год и начинать с нуля или с остаточного баланса предыдущего года. Так вот возмем таблицу расходов. Все хорошо когда мы начали в настоящем году заполнять или учитывать, но наступил следующий год и нужно отфильтровать значения, чтобы не видеть за прошлый год расходы, и считать настоящий год. Кажется все просто и легко. Ведь правда нам не важен расход за прошлый год, который к тому же закрыт и посчитан.
Собираюсь все расходы за все года хронить в одной таблице.
Так вот он самый код:
Код

using (OleDbConnection conn = new OleDbConnection(conectingString))
            {
                try
                {
                    conn.Open();
                    daRashod = new OleDbDataAdapter("select id,DataNow,Summa,Nodes,id_Sotrudnicy,id_Statya,NomerStati,NameStaya from Rashod where DataNow between '01.01.2009' and '31.12.2009'", conn);
                    DataSet ds = new DataSet();
                    daRashod.Fill(ds, "Расход");
                    DataView dv = new DataView(ds.Tables["Расход"]);
                    //dv.RowFilter = "DataNow >=" + day+"."+month +"."+yeare ;
                    dv.Sort = "DataNow desc,Summa asc";
                    dgvRashod.DataSource = dv;
                    ds.Dispose();
                    conn.Close();
                }
                catch (SqlException ex)
                {
                    MessageBox.Show(ex.Message, ex.Source);
                    conn.Close();
                }
            }


Вот именно эта часть и шалит
Код

select id,DataNow,Summa,Nodes,id_Sotrudnicy,id_Statya,NomerStati,NameStaya from Rashod where DataNow between '01.01.2009' and '31.12.2009'


 Поле DataNow имеет тип данный "Дата/время", БД Access 2007. 
К примеру беру другое поле из этой таблице под этим же запросом Сумму например- все работает
Пробывал так
Код

select id,DataNow,Summa,Nodes,id_Sotrudnicy,id_Statya,NomerStati,NameStaya from Rashod where DataNow >= '01.01.2009' 


Тоже не идет
Так
Код

select id,DataNow,Summa,Nodes,id_Sotrudnicy,id_Statya,NomerStati,NameStaya from Rashod where DataNow in ('01.01.2009' )


Не получается что-то. Кстати, поле поменял на тип "тестовый", начала отбирать но полный беспредел, диапазон что то не правильно отбирает, задаю с 01 января 2009 по 31.12.2009 он выдает этот диапазо но еще и 31.12.2008,30.12.2008 и 01.01.2010 года захватывает. В общем что то тут не то!
Прощу кто имел дело и разобрался помочь.
Заранее благодарен за помощь.
PM MAIL   Вверх
jonie
Дата 26.7.2009, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



Дата в акцесе пишется вроде бы в #2009-01-31# формате, кроме того есть функции для явной конвертации в дату.



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Doss
Дата 27.7.2009, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Цитата(jonie @ 26.7.2009,  10:48)
 кроме того есть функции для явной конвертации в дату.

А как именно? Пожалуйста если можно на примере
Читать нет времени.

PM MAIL   Вверх
jonie
Дата 27.7.2009, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



Цитата
Читать нет времени.

вы читаете что у нас есть время чтобы за вас читать документацию?!


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Doss
Дата 28.7.2009, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Цитата(jonie @  27.7.2009,  23:03 Найти цитируемый пост)



вы читаете что у нас есть время чтобы за вас читать документацию?!


Так форум для чего создан, что бы указывать только на литеру? Обращался к тем, кто с этой проблемой уже связывался и решил ее. Если вы не решили или не хотите делится знаниями то да и ладно, потрачу время на читку.
Но если бы вы помогли примером или дельным советом, то мож и дискусия и мнения других послушать удалось бы..... smile 
PM MAIL   Вверх
Rififi
Дата 28.7.2009, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: нет
Всего: 36



Код
"... where DataNow between ? and ?";

rtfm'ить про параметры команды до просветления.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.1117 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.