如何在 VB 6.0 中用数据库中的值填充日期选择器?

How to fill a datepicker with value from database in VB 6.0?

我正在使用 VB6.0。我有这个日期选择器,还有一个数据网格视图。当我单击文本框中的列数据输入时,我试图做到这一点,因此使用日期选择器从数据库中获取日期值

这是我的代码:

txtData.Value = dtmhs.Columns(3)

但我收到以下错误,知道如何解决吗?

在数据库中,我将日期声明为 varchar,因为日期格式 yyyy/mm/dd 而不是 dd/mm/yyy

存在一些问题

提前致谢。

正如@JoelCoehoorn 指出的那样:最好将日期存储在代码和数据库中的日期 variable/column 中。使用 Format$() 函数可以 非常 轻松实现所需的日期格式,即根据您喜欢的格式从日期创建 String。然而,相反的情况容易出现很多错误。

Dim sMyDateAsString As String
sMyDateAsString = Format$(dtmMyDateAsDate, "dd/mm/yyyy")

至于设置 DateTimePicker 的值,同样 - 使用日期 变量 就像 dtpMyDateTime.Value = dtmMyDateVariable.

一样简单

如果您绝对必须使用任何其他变量类型,恕我直言,最好的方法是设置控件的个别 date/time 属性,例如

With dtpMyDateTime
   .Year = 2021
   .Month = 12
   .Day = 09
   ' Also set the time part, if needed...
   .Hour = 23
   .Minute = 58
   .Second = 0
   ' ... and now cue Iron Maiden's "Two minutes to midnight" ;-)
End With

请记住,这些属性需要 numeric 值,因此如果您将日期存储在“String”变量中,则必须先转换这些值。看,在字符串中存储日期的所有麻烦...