2015-05-15 2 views
0

У меня есть форма, по которой пользователь выбирает текущую дату окончания финансового месяца. Frm_SetBucketsТаблица обновления Access 2010 из поля формы с использованием strUpdate

Когда они пользователь нажимает на флажок, я хочу эту дату обновить CurrentFiscalMonthEnd поле в таблице Tbl_Calendar_SetBucketDates следующим кодом: Option Compare Database

Private Sub Image_BucketSelector_Click() 
Dim db As DAO.Database 
Dim strUpdate As String 

'FirstBucketDate = Forms!Frm_SetBuckets!CurrentFiscalMonthEndDate_Selected 
'FirstBucketDate = "05/29/2015" 
FirstBucketDate = Date 

    message = MsgBox("Did you set the Current Fiscal Month-End Date Selector?" & vbCrLf, vbYesNo, "Are you sure?") 
    If message = vbYes Then 
     DoCmd.SetWarnings False 


'strUpdate = "Update Tbl_Calendar_SetBucketsDates SET [CurrentFiscalMonthEnd] = Forms!Frm_SetBuckets!CurrentFiscalMonthEndDate_Selected" 
strUpdate = "Update Tbl_Calendar_SetBucketsDates SET [CurrentFiscalMonthEnd] = FirstBucketDate" 
Debug.Print strUpdate 
Set db = CurrentDb 
Debug.Print strUpdate 
db.Execute strUpdate, dbFailOnError 
Debug.Print db.RecordsAffected & " rows updated" 
Set db = Nothing 
DoCmd.SetWarnings True 
End If 

If message = vbNo Then Exit Sub 
MsgBox "You have successfully set the bucket date!" 

End Sub 

Я получаю множество ошибок в зависимости от того, какой код я отключаю. Должен ли я использовать какой-либо другой код для обновления поля или есть простое изменение. Ваш острый глаз очень ценится. Благодаря

ответ

1

Изменить эту строку:

strUpdate = "Update Tbl_Calendar_SetBucketsDates SET [CurrentFiscalMonthEnd] = FirstBucketDate" 

To:

strUpdate = "Update Tbl_Calendar_SetBucketsDates SET [CurrentFiscalMonthEnd] = #" & Format(FirstBucketDate,"mm\/dd\/yyyy") & "#;" 

Это форматировать дату должным образом в Access SQL.

Кроме того, убедитесь, что в этой строке указано соответствующее предложение WHERE, или вы можете завершить обновление строк больше, чем планировалось.

+0

спасибо! –

+0

Я пошел на дальнейшее тестирование, и когда я меняю дату на что-то еще и нажимаю кнопку, она по-прежнему обновляется, но застряла на исходной дате. Я пробовал это 4 раза, и результаты непосредственного окна ниже: Обновление Tbl_Calendar_SetBucketsDates SET [CurrentFiscalMonthEnd] = # 03/26/2015 #; Обновлено 1 строка Обновить Tbl_Calendar_SetBucketsDates SET [CurrentFiscalMonthEnd] = # 03/26/2015 #; Обновлено 1 строка Обновить Tbl_Calendar_SetBucketsDates SET [CurrentFiscalMonthEnd] = # 03/26/2015 #; Обновлено 1 строка Обновить Tbl_Calendar_SetBucketsDates SET [CurrentFiscalMonthEnd] = # 03/26/2015 #; Обновлено 1 строка –

+0

Глядя на ваш код, я предполагаю: комментарий «FirstBucketDate = Date» и раскомментирование 'FirstBucketDate = Forms! Frm_SetBuckets! ...' – kismert