powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сортировка записей по дате (по месяцу и году)
56 сообщений из 56, показаны все 3 страниц
Сортировка записей по дате (по месяцу и году)
    #36737395
Mazai-XZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Если кратко, то: Нужен алгоритм сортировки записей по дате (по месяцу и году).
Есть БД на акцессе, есть форма на VB. На форме 2 комбобокса 1- выбор месяца, 2-выбор года и кнопка "Сортировка".


Подробное описание вопроса:
Есть БД на акцессе, в ней поле "дата", ну тоесть во время работы проги создаётся запись в бд и в поле "дата" проставляется дата создания записи в формате ХХ.ХХ.ХХХХ. После запуска проги в работу для сортировки этих записей по датам использовал корявую, но всё-таки рабочую функцию:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 Dim M
M = Combo5.ListIndex +  1 
If M <  10  Then M = "0" & M
apbase.Adodc3.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath & ";Mode=ReadWrite|Share Deny None;Persist Security Info=False"
apbase.Adodc3.RecordSource = "SELECT * FROM dkp Where data like '" & "%." & M & ".%' order by data"
Set apbase.DataGrid3.DataSource = apbase.Adodc3
apbase.Adodc3.CommandType = adCmdText
apbase.Adodc3.CursorType = adOpenDynamic
apbase.Adodc3.Refresh 
М - это индекс поля со списком, тоесть если выбираю в списке Январь месяц, то это соответсвует индексу 0, тоесть М будет ровняться 1, далее приписываю к нему нолик, ибо даты в формате хх.хх.хххх, и далее уже ищу в базе. Но так как прога работает уже не первый год и в базе скопилось куча записей, то возникла проблема сортировки: при выборе, например, января месяца прога благополучно выдаёт все записи сделанные в январе ... 2008, 2009 и 2010 годов. Подскажите, как ограничить поиск конкретным годом?



Заранее благодарен!!! )))
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36737467
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Кажется вы путаете сортировку с фильтром, будьте внимательнее в терминах
2) Прежде, чем рассматривать ваше [censored] решение, cкажите на милость, почему нельзя в базе сделать поле типа "дата" и отбирать записи как положено. К тому же сделать на этом поле индекс и ускорить работу на несколько порядков
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36738657
Mazai-XZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro1) Кажется вы путаете сортировку с фильтром, будьте внимательнее в терминах
2) Прежде, чем рассматривать ваше [censored] решение, cкажите на милость, почему нельзя в базе сделать поле типа "дата" и отбирать записи как положено. К тому же сделать на этом поле индекс и ускорить работу на несколько порядков
мм, возможно и перепутал термины, строго не судите! )))
В общем таблица акцесовская (журнал учёта документов в комиссионном магазине), в ней поля:
Номер договора, продавец, покупатель, Транспортное средство, дата оформления. Раз в месяц отчёт делаю об оформленных договорах за месяц, ну так вот прога выбирает договора в нужный мне месяц, но за ВСЕ годы работы, за прошлый и так далее, естественно не удобно, нужно чтоб выбирались договора только нужного месяца нужного года (например за январь 2010, март 2008 и т.д и т.п.) Вот так. Поле "Дата оформление" в формате дата. Причём краткий отчёт (по конкретному числу) выводиться коректно, тоесть выводятся все записи, относящиеся только к выбранной дате, а вот с месячной сортировкой (фильтром) нифига ((((
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739020
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mazai-XZПоле "Дата оформление" в формате дата.
Так как вы даете противоречивую информацию, я дополнительно хочу уточнить
тип поля "Дата оформление" - ДАТА
А не текст, правильно?
Потому что тогда утверждение "проставляется дата создания записи в формате ХХ.ХХ.ХХХХ." является бредом, так данные типа "дата" хранятся не в виде текста, а в виде 8-мибайтного числа и с ней нельзя работать так, как вы работаете.

Если подтверждаете, что это дата - напишу, как должен выглядеть ваш запрос.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739143
Mazai-XZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, сейчас проверил в самой бд формат этого поля, там стоит Дата/время. Как я писал выше вормат xx.xx.xxxx, этоя имел в виду дд.мм.гггг в смысле например если текущее число 1 января 2010 года, то в базу заностится 01.01.2010, а не 01.1.10 ну или как-либо иначе, точнее если число до 10го, то записывается 2 символами 01, 02 и так дклее, также месяц до 10 записывается 01, 02 и т.д. вот. При фильтрации в ДатаГриде остаются только нужные (найденые) записи, которые можно либо на форме просмотреть, либо вывести на печать. Вот. Благодарю за внимание )
p.s. Может это и полнейшее программерское невежество, но форматы полей я изначально создал в акцессе
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739169
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mazai-XZp.s. Может это и полнейшее программерское невежество, но форматы полей я изначально создал в акцессе
Совершенно верно. Вы не только не отличаете сортировку от фильтра, но и формат данных от типа поля. Отсюда не можете написать правильный запрос. Конечно, стоит почитать хоть какую-нить книжку по аксессу.

Еще раз обращаю ваше внимание - в поле ТИПА ДАТА хранится ЧИСЛО ДНЕЙ, а как вы его видите, в виде дд-мм-гггг или гггг-мм зависит исключительно от той программы, через которую вы смотрите на это поле.

ща освобожусь, напишу запрос....
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739224
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, самым простым решением в вашем случае будет такое:

Код: plaintext
apbase.Adodc3.RecordSource = "SELECT * FROM dkp Where data Between DateSerial("+CStr(Y)+","+CStr(M)+",1) And DateSerial("+CStr(Y)+","+CStr(M+ 1 )+",0) order by data"

Где Y - числовая переменная, содержащая год, M - числовая переменная, содержащая месяц
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739230
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProВ общем, самым простым решением в вашем случае будет такое:
При таком запросе будет использоваться индекс по полю Data (а я надеюсь, что он есть), запрос будет выполняться сильно быстрее.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739335
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
При таком запросе будет использоваться индекс по полю Data (а я надеюсь, что он есть), запрос будет выполняться сильно быстрее.

Вообще-то чтобы использовался индекс - уберите функции из условия!
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739338
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFВообще-то чтобы использовался индекс - уберите функции из условия!
Функции в условии нет!
Точнее так: само поле не участвует в функции, поэтому индекс может быть использован, а значение функции будет вычислена ДО выборки. Так что все ок.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739350
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProAndrFВообще-то чтобы использовался индекс - уберите функции из условия!
Функции в условии нет!
Точнее так: само поле не участвует в функции, поэтому индекс может быть использован, а значение функции будет вычислена ДО выборки. Так что все ок.

Рассчитывать на сильную разумность Access-a я бы не стал. Тем более в тех случаях когда функция прекрасно выкидывается из условия.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739352
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFРассчитывать на сильную разумность Access-a я бы не стал.
А как правильно представить дату для аксесса, чтобы ИЗБЕЖАТЬ явного или неявного преобразования (что опять же будет ничем не лучше DateSerial)? Так?

#mm/dd/yyyy#
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739385
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFРассчитывать на сильную разумность Access-a я бы не стал.
Ню-ню...


- Сэр, Вы эстет?
- Нет, я гомосексуалист, но зато какие краски!
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739386
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_world, как спец рассуди нас!
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739398
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

то, что ты предложил, это так называемый "динамический" запрос, или динамическая сборка запроса. Все переменные/функции подставляются на этапе сборки и компиляции строки. Запрос выполняется с уже подставленными строковыми/числовыми/датными константами. Разумется, все индексы работают.

Могу еще добавить, что эта операция настолько часта, тривиальна и эффективна одновременно, что попала в ФАК акцесса.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739414
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_world,

AndrF, насколько я понимаю, смутило именно то, что я выполнил DateSerial на стороне сервера, а не на стороне клиента. Я бы выполнил ее на стороне клиента, то вдруг осознал, что не знаю, как правильно передавать дату аксессу, чтобы избежать неявного преобразования. Когда-то давно, когда работал еще с аксессом, передавал, как указал выше, в решетках, но, честно говоря, не знаю, правильно ли это. Просвети тогда уж...
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739452
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
да, не обратил внимания на Dateserial. Действитено, нужно вытащить все приваивания из строки и серверу передавать готовые даты.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739456
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_worldShocker.Pro,
да, не обратил внимания на Dateserial. Действитено, нужно вытащить все приваивания из строки и серверу передавать готовые даты.
И в третий раз спрошу.
Так как передавать дату серверу, чтобы избежать неявного преобразования? В формате #mm/dd/yyyy#?
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739488
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Черт, отвлекают бесконечно

Сервер Jet аксовский? Если формировать строку, то надо в американском формате #mm/dd/yyyy#. Иначе могут быть ошибки при вхождении данных, подготовленных в другой локализации.
Но DateSerial даст правильный результат в любом случае. Дата ведь число типа Double. И DateSerial готовит дату однозначно, вне зависимости от локализации. Другой способ подать дату в строку (когда нет готового разбиения на элементы даты) это сформировать дату с помощью функции Format и придать ей решетки для указания типа данных.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739494
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Другими словами, твой вариант вполне рабочий
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739574
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_worldДругими словами, твой вариант вполне рабочий
Ну слеплю тогда еще и клиентский вариант, чтобы снять вопросы

Код: plaintext
1.
apbase.Adodc3.RecordSource = "SELECT * FROM dkp Where data Between #" + _
  Format$(DateSerial(Y,M, 1 ),"mm\/dd\/yyyy") + "# And #" + Format$(DateSerial(Y,M+ 1 , 0 ),"mm\/dd\/yyyy") + "# order by data"
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739586
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наноупрощение (чтоб не лепить решетки отдельно)
Код: plaintext
"\#mm\/dd\/yyyy\#" 
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739599
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_worldНаноупрощение (чтоб не лепить решетки отдельно)
Код: plaintext
"\#mm\/dd\/yyyy\#" 

Пикоупрощение:
Код: plaintext
1.
2.
Public Function SQLDate(Dat As Date) As String
  SQLDate=Format$(Dat,"\#mm\/dd\/yyyy hh:mm:ss\#")
End Function
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739605
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Код: plaintext
1.
2.
Public Function SQLDate(Dat As Date) As String
  SQLDate=Format$(Dat,"\#mm\/dd\/yyyy hh:mm:ss\#")
End Function


виноват: hh:nn:ss
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739614
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
проще поле дата сделать как текстовое , мне так кажется.
вы сами его как делаете?
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739617
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admShocker.Pro,
проще поле дата сделать как текстовое , мне так кажется.
вы сами его как делаете?
Ну ты че? А для чего тогда числовые и прочие специальные типы полей по-твоему придумали?
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739625
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admпроще поле дата сделать как текстовое , мне так кажется.
Кажущаяся простота. Теряется возможность использовать элементы даты, датные функции. Взамен появляются приятные неожиданности строчно несопоставимых дат с разделителями элементов точкой, тире, косой чертой.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739626
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
в VB использовал DATE() , в mysql поле date , ну вроде работало нормально
но мне показалось проще как то именно как текстовое поле использовать
и изменил поле на текстовое
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739630
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admShocker.Pro,
в VB использовал DATE() , в mysql поле date , ну вроде работало нормально
но мне показалось проще как то именно как текстовое поле использовать
и изменил поле на текстовое
ЧЕМ проще?
- Армяне лучше, чем грузины!
- Чем, лучше, чем!!!!?
- Чем грузины!
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739631
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admShocker.Pro,
в VB использовал DATE() , в mysql поле date , ну вроде работало нормально
но мне показалось проще как то именно как текстовое поле использовать
и изменил поле на текстовое
Ну-ка расскажи, как ты записываешь дату в текстовое поле поле базы. Фрагмент VB-кода...
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739636
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
при открытии документа
Код: plaintext
Text2 = Format(Date, "DD.MM.YY")
при записи
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
For i =  1  To FlexGridPlus4.Rows -  1 
strsql = "insert into registr (doc_id,client_id, usluga_id, price , amount,date, time) values " _
+ "(" + Str(naklnum) + "," + Str(Combo1.ItemData(Combo1.ListIndex)) + "," + Str(FlexGridPlus4.TextMatrix( 1 ,  4 )) + "," _
 + Str(massprice(FlexGridPlus4.TextMatrix( 1 ,  4 ))) + "," + Str(FlexGridPlus4.TextMatrix( 1 ,  2 )) + "," + _
 "'" + Text2.Text + "'" + "," + "'" + Text3.Text + "')"
Debug.Print strsql
query strsql
FlexGridPlus4.RemoveItem  1 
Next i
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739644
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05adm,

Ох-ох-ох.
И как же ты реализуешь банальный отбор, как у автор топика? Проще говоря - как ты отберешь записи позже определенной даты?
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739650
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Код: plaintext
1.
2.
3.
4.
5.
select * from registr
where date='08.07.2010'
или
select * from registr
where date<'08.07.2010'
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739651
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admShocker.Pro,
Код: plaintext
1.
2.
3.
4.
5.
select * from registr
where date='08.07.2010'
или
select * from registr
where date<'08.07.2010'

date при этом какого типа и чему равно?
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739652
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Prodate при этом какого типа и чему равно?
точнее так
Что больше '08.07.2010' или '09.06.2010'?
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739655
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admShocker.Pro,
проще поле дата сделать как текстовое , мне так кажется.
вы сами его как делаете?

Не вздумай!
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739656
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
не знаю как sql поймет)
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739657
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admне знаю как sql поймет)
SQL поймет правильно текстовая строка '09.06.2010' больше текстовой строки '08.07.2010'. Надо объяснять, почему?

И вообще, Адука, взрослых обманывать нехорошо, сравнение
Код: plaintext
1.
where date='08.07.2010'
у тебя работать не может, так как в текстовом поле у тебя лежит '08.07.10' (как ты показал выше)
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739659
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Shocker.Proу тебя работать не может, так как в текстовом поле у тебя лежит '08.07.10' (как ты показал выше)
я и не обманывал просто у меня стоит так
Код: plaintext
Text2 = Format(ctrKalendar1, "DD/MM/YYYY")
а тот код что вставил это я проверял и по запарке вставил сюда
думал также и у меня но че то прогадал
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739660
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Shocker.ProНадо объяснять, почему?
попробую сам понять
а так исправлю ка я тип поля на DATE ))
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739661
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admя и не обманывал просто у меня стоит так
Код: plaintext
Text2 = Format(ctrKalendar1, "DD/MM/YYYY")
а тот код что вставил это я проверял и по запарке вставил сюда
думал также и у меня но че то прогадал
У-у-у-у.
Еще хуже.
Зайди в панель управления, включи региональные настройки "Американские" и попробуй поработать.

Потом почитай описание функции Format в качестве домашнего задания.

ЗЫ: Про сравнение я тебя, кажется, уже убедил, что оно работать НЕ БУДЕТ.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739662
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЧто больше '08.07.2010' или '09.06.2010'?

Это еще ерунда - дату можно было бы писать в строку в виде yyyymmdd.

Но это большая длина поля, необходимость лишних преобразований, а значит сложности в будущем...
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739663
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Shocker.ProЗайди в панель управления, включи региональные настройки "Американские" и попробуй поработать.

то есть лучше так ?
Код: plaintext
Text2 = Format(ctrKalendar1, "DD/MM/YY")
Shocker.ProПотом почитай описание функции Format в качестве домашнего задания.
ок))
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739665
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admShocker.ProНадо объяснять, почему?
попробую сам понять
Создай в папке три файла: 5.txt, 45.txt и 500.txt, отсортируй по алфавиту и посмотри на результат.

aduka05admа так исправлю ка я тип поля на DATE ))
Возьми себе за правило строго работать с типами данных! Никогда не сравнивай и не присваивай типы данных, не соответствующие друг другу! Ты просто не представляешь, сколько глюков ты иначе наделаешь. Особенно с датами, но чисел тоже касается.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739667
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admShocker.ProЗайди в панель управления, включи региональные настройки "Американские" и попробуй поработать.

то есть лучше так ?
Не лучше, это не меняет сути. Поменяй регион и увидишь, что у тебя все перестанет нафиг работать.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739669
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFЭто еще ерунда - дату можно было бы писать в строку в виде yyyymmdd.
Но это большая длина поля, необходимость лишних преобразований, а значит сложности в будущем...
Если это будет числом - это хоть как-то могло иметь право на жизнь.
Но я не зря спросил, как он пишет строку в базу....

В общем, есть ему о чем теперь подумать.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739670
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
я не в чем разница между char и varchar?
между int и bigint?
у меня так и хочет mysql (работая через MySQL Administrator) создавать именно вторые типы полей
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739671
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admShocker.Pro,
я не в чем разница между char и varchar?
между int и bigint?
у меня так и хочет mysql (работая через MySQL Administrator) создавать именно вторые типы полей
Так, а вот это уже здесь оффтопик
заводи тему - расскажу.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739673
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admShocker.Pro,
я не в чем разница между char и varchar?
между int и bigint?
у меня так и хочет mysql (работая через MySQL Administrator) создавать именно вторые типы полей
я не совсем понимаю в чем разница между char и varchar?
между int и bigint?
у меня так и хочет mysql (работая через MySQL Administrator) создавать именно вторые типы полей
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739675
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
в инете поищу , если че спрошу
спасибо большое)
хороший вы человек)
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36739818
Mazai-XZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProВ общем, самым простым решением в вашем случае будет такое:

Код: plaintext
apbase.Adodc3.RecordSource = "SELECT * FROM dkp Where data Between DateSerial("+CStr(Y)+","+CStr(M)+",1) And DateSerial("+CStr(Y)+","+CStr(M+ 1 )+",0) order by data"

Где Y - числовая переменная, содержащая год, M - числовая переменная, содержащая месяц
Великолепно! Спасибо огромное! Этот метод работает на ура, как раз то, чтонужно!
P.S. Обязательно почитаю литературу по ACCESS!!! Мне правда стыдно, за свою некомпетентность в этом вопросе! (((
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36747199
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
создал процедуру в mysql
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE DEFINER=`root`@`localhost` PROCEDURE `add_to_registrusl`(in d_id BIGINT( 20 ),
in cl_id BIGINT( 20 ) ,in usl_id BIGINT( 20 ) ,in d_price INT( 7 ) ,
in d_am INT( 5 ) ,in d_date varchar( 20 ) ,in d_time varchar( 20 ))
BEGIN
insert into registr_usl (doc_id,client_id, usluga_id, price , amount,doc_date, doc_time)
values (d_id , cl_id , usl_id , d_price , d_am , d_date ,d_time);
END
в vb с датой и временем работаю так
Код: plaintext
1.
2.
Text3 = Format(Time, "HH:MM:SS")
Text2 = Format(ctrKalendar1, "YYYY-MM-DD")
так вот вопрос
в процедуре принимаю дату и время так
Код: plaintext
1.
in d_date varchar( 20 ) ,in d_time varchar( 20 )
правильно ли принимать как строку, если нет то как?
в vb обращаюсь к процедуре так , тоже заношу как строку получается
Код: plaintext
'дата'
Код: plaintext
1.
2.
3.
strsql = "CALL add_to_registrusl(" + Str(naklnum) + "," + Str(Combo1.ItemData(Combo1.ListIndex)) + "," + Str(FlexGridPlus4.TextMatrix( 1 ,  4 )) + "," + _
Str(massprice(FlexGridPlus4.TextMatrix( 1 ,  4 ))) + "," + Str(FlexGridPlus4.TextMatrix( 1 ,  2 )) + ", '" + Text2.Text + "'," + _
"'" + Text3.Text + "');"
ну и сама таблица в БД
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36747367
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05adm,

лично я тебе по MySQL не консультант - работал очень мало.
Однако, для передачи параметров в MSSQL я пользуюсь объектом Command и его коллекцией Parameters. Это в тыщу раз удобнее, а, кроме того, данные не надо перобразовывать в текстовые строки - они в коллекцию кладутся как есть (дата как дата, в частности), а дальше ADO с ними сам разбирается. Думаю, что для MYSQL это тоже сгодится.
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36747371
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
хотел спросить в запросе в поле дата и время
запись так должна быть?
Код: plaintext
INSERT INTO ....(doc_date,doc_time) values ('дата','время')
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36747373
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admShocker.Pro,
хотел спросить в запросе в поле дата и время
запись так должна быть?
Код: plaintext
INSERT INTO ....(doc_date,doc_time) values ('дата','время')

кажись в MySQL INSERT выглядит по-другому, как UPDATE
...
Рейтинг: 0 / 0
Сортировка записей по дате (по месяцу и году)
    #36747757
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
также вроде
...
Рейтинг: 0 / 0
56 сообщений из 56, показаны все 3 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сортировка записей по дате (по месяцу и году)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]