Здравствуйте, имеем базу данный MS sql 2005, содержащую данные типа datatime и числовые данные. Необходимо выполнить запрос и фильтрацию по любому дню вбивая его в поле excel
Выборка по дате из SQL базы данных макросом
21.10.2011 10:51:44
|
|
|
|
21.10.2011 10:53:45
т.е Суточная ведомость за определенный день. Прикрепленный файл не работает ((
|
|
|
|
21.10.2011 13:47:28
Дело в том что тот фильтр что я прекрепил выше не работает:( и реализован он на фильтрации произведенного запроса SQL
|
|
|
|
21.10.2011 14:25:48
в базе данных datatime представлена в виде 2011-10-20 10:25:00.017
а выборку нудно сделать только по 2011-10-20. Извиняюсь за то что ни черта не понимаю в программировании. |
|
|
|
21.10.2011 15:19:15
{quote}{login=R Dmitry}{date=21.10.2011 03:08}{thema=Re: }{post}{quote}{login=ORG}{date=21.10.2011 02:25}{thema=}{post}в базе данных datatime представлена в виде 2011-10-20 10:25:00.017
а выборку нудно сделать только по 2011-10-20. Извиняюсь за то что ни черта не понимаю в программировании.{/post}{/quote} Sql понимает дату в таком формате mm/dd/yyyy hh:nn:ss и ни в каком иначе, поэтому всегда использую такую функцию для VBA Function DataSql(dt_sql As String) DataSql = "#" & Format(dt_sql, "mm\/dd\/yy hh\:mm\:ss") & "#" End Function Пример: Dim q As Date q = Now strSQL = "SELECT * FROM Table as t" _ & " WHERE t.TimeOpen=" & DataSql(q){/post}{/quote} Ммм... спорить не буду. говорю лишь то, что на самом деле у меня работает и дату я могу поставить в условие в виде '20.10.2011' и это я использую в своих карыстных целях) |
|
|
|
21.10.2011 15:22:15
{quote}{login=Николай}{date=21.10.2011 02:11}{thema=}{post}Допустим у вас есть SQL запрос вида
Select * Form MySQLDB Where MySQLDB.datetime>GetDate-7 Его вы сохраняете в переменню в коде таким образом SQLstr="Select * Form MySQLDB Where MySQLDB.datetime>GetDate-7" Допустим у васт есть форма на которой будет два текстовых поля, где вы и будете вводить параметры. if iTextBox1<>"" then SQLstr=Replace(SQLtxt,"MySQLDB.datetime>GetDate-7","MySQLDB.datetime>" & iTextBox1.text) if iTextBox2<>"" then SQLstr=SQLstr & " and MySQLDB.datetime<" & iTextBox2.text а далее уже совершать запрос. только нужно следить за правельностью ввода даты{/post}{/quote} А зачем использовать два текстовых поля достаточно одно же для числа? |
|
|
|
21.10.2011 15:24:52
{quote}{login=}{date=21.10.2011 03:22}{thema=Re: }{post}{quote}{login=Николай}{date=21.10.2011 02:11}{thema=}{post}Допустим у вас есть SQL запрос вида
Select * Form MySQLDB Where MySQLDB.datetime>GetDate-7 Его вы сохраняете в переменню в коде таким образом SQLstr="Select * Form MySQLDB Where MySQLDB.datetime>GetDate-7" Допустим у васт есть форма на которой будет два текстовых поля, где вы и будете вводить параметры. if iTextBox1<>"" then SQLstr=Replace(SQLtxt,"MySQLDB.datetime>GetDate-7","MySQLDB.datetime>" & iTextBox1.text) if iTextBox2<>"" then SQLstr=SQLstr & " and MySQLDB.datetime<" & iTextBox2.text а далее уже совершать запрос. только нужно следить за правельностью ввода даты{/post}{/quote} А зачем использовать два текстовых поля достаточно одно же для числа?{/post}{/quote} Допустим сегодня вам достаточно одного, а завтра вы захотите, что бы можно было выбирать период, а нетолько последнии дни |
|
|
|
21.10.2011 16:44:48
Николай, вот так вот реализовал. Но почему то не работает ( Думаю дело в форме на текстовых полях.
Invalid Column name GетDате. |
|
|
|
24.10.2011 13:40:28
Up
|
||||
|
|
|||
Читают тему