Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 18:47 28.06.24 
Компютри и Интернет
   >> Бази данни
*Кратък преглед

Тема SQL проблем с дата в MSACCESS  
Автор Viper X (just a snake...)
Публикувано28.08.03 14:19



Пиша си една програмка на ВБА за Аксес, не съм много навътре с нещата, чета постоянно хелп и разни други книжки дето имам по въпроса, ама за това не открих нищо, а вече 1 час се боря с него :(( Та въпроса е - искам да добавя запис в таблицата с нещо подобно:

sql = "INSERT INTO picks (betid, date) values (6, 12.09.03 )"
DoCmd.RunSQL sql

Тука betid е integer - с него нямам проблеми - когато пробвам
sql = "insert into picks (betid) values (6)"
всичко е ОК, проблема идва от полето date - от тип дата, където пробвах какви ли не формати на датата:
12.09.03
'12.09.03'
#12.09.03#
'#12.09.03#'

и нито едно не тръгна, винаги ми казва Syntax Error in INSERT INTO statemant

та - в какъв формат трябва да се зададе датата, за да тръгне това чудо? Сигурен съм, че въпросът ми е мнооооого, мнооого тъп, ама какво да се прави, трябва и такива да има :))) Благодаря ви



Тема Re: SQL проблем с дата в MSACCESSнови [re: Viper X]  
АвторAcidMemory (Нерегистриран)
Публикувано28.08.03 15:48



хич не е тъп, проблемът с формата на датата в аксес е пословичен

номерът е, че зависи от regional settings на компютъра ти, т.е. ако ти е български (има едно г.), по-добре го махни, защото аксеса не се оправя



Тема Re: SQL проблем с дата в MSACCESSнови [re: AcidMemory]  
Авторplanik (Нерегистриран)
Публикувано28.08.03 18:01



аз използвам други неща при msaccess i ms sql, но
защо не опиташ

insert into table (datefield ) values ('20030828')

100% ще стане

sql автоматично ще обърне стринга в дата



Тема Re: SQL проблем с дата в MSACCESSнови [re: planik]  
АвторAcidMemory (Нерегистриран)
Публикувано28.08.03 21:20



да, ако си направи формата на датата такъв - няма проблем, но ако започнат да се преплитат форматите (примерно се ползва и календар контролката и ръчно въвеждане) - става малък ад (просто трябва всеки да въвежда дата само по един и същи начин)



Тема Re: SQL проблем с дата в MSACCESSнови [re: Viper X]  
Автор Viper X (just a snake...)
Публикувано28.08.03 23:36



мерси за идеите, проблема беше, че date e запазена дума в Аксеса, и се оказа че трябва да го заградя в счупени скоби, т.е.
sql = "INSERT INTO picks (betid, [date]) values (6, 12.09.03 )"
и всичко тръгна на 6



Тема Bravo, pi4!нови [re: Viper X]  
Автор Kalin_M (+359 888 991391)
Публикувано30.08.03 17:05



Naistina tova e pravilnoto re6enie, i az sam se blaskal qko dokato go shvana.

4udq se samo kak nikoi ot moza4nite trastove ne moja da pomogne nito sega, nito predi nqkolko meseca, kogato pitah sa6toto ne6to...

Derzai...

We appoligize for inconvenience...


Тема Re: SQL проблем с дата в MSACCESSнови [re: Viper X]  
Автор radobg (левскарче)
Публикувано01.09.03 06:54



форматите са няколко. аз например обикновено ползвам yyyy-mm-dd или yyyymmddhhmmss



Тема Re: SQL проблем с дата в MSACCESSнови [re: radobg]  
АвторDani (Нерегистриран)
Публикувано02.09.03 10:42



Има една функция на Алън Браун от Австралия. Той форматира датите преди да ги използва в SQL стринга.

Function SQLDate(varDate As Variant) As String
' MS-Access Tips for Serious Users
' Provided by Allen Browne

If IsDate(varDate) Then
SQLDate = "#" & Format$(varDate, "mm\/dd\/yyyy") & "#"
End If

End Function

Ето как се използва:

StrSQL = "SELECT * FROM [Holidays data]"
StrSQL = StrSQL & " WHERE [Date]=" & SQLDate(curDate)
StrSQL = StrSQL & " ORDER BY [ID];"
Set rst = CurrentDb.OpenRecordset(StrSQL)

А ето как се форматира дата:
Format(Now(),"Short date")



Тема Re: SQL проблем с дата в MSACCESSнови [re: Dani]  
АвторAni (Нерегистриран)
Публикувано03.09.03 22:46



Човекът от Австралия - много добре, но ако не ме лъже паметта си го пише и някъде в helpa, че датата, когато се използва в sql-a трябва да е във формат mm/dd/yyyy



Тема Точно така, виж как форматира дататанови [re: Ani]  
АвторDani (Нерегистриран)
Публикувано04.09.03 13:06



Да точно така. Всички операции свързани с датата трябва да са във формат mm/dd/yyyy и понеже регионалните настройки са различни Алън Брауни предлага винаги когато се работи с датата тя да се форматира с функцията която е показана.

Аз следвам неговата препоръка и нямам проблеми при SQL операциите. Това е за Access 97, 2000, 2002.

Що се касае да MS SQL Server 2000 още не съм толкова сигурен, но мисля че пак ще е така.




*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.