• Nhập ngày tháng thông qua Calendar Control
  • Nhập ngày tháng thông qua Calendar Control

    Noname > 07-06-12, 07:07 PM


    Calendar control là một ActiveX control cho phép bạn nhập ngày tháng vào Access một cách chính xác, nhanh chóng và hiệu quả. Cách làm như sau:

    1. vẽ 1 textbox đặt tên là txtFromdate
    2. Vẽ 1 button
    3. Click vào nút more control ở toolbox, tìm và chọn Calendar Control 11.0, Vào form, thả control này vào chỗ bạn muốn. Vào Properties đặt name của đối tượng này là Calendar2 và thuộc tính visible là No.
    4. Code cho sự kiện Click của Calendar như sau
    Mã:
    Private Sub Calendar2_Click()
    txtFromDate.Value = Calendar2
    Me.txtFromDate.SetFocus
    Me.Calendar2.Visible = False
    End Sub
    5. Code cho sự kiện click của nút nhấn
    Mã:
    Private Sub Command4_Click()
    If Not IsNull(txtFromDate) Or txtFromDate <> "" Then
    Me.Calendar2.Value = txtFromDate
    Else
    Calendar2.Value = Date
    End If
    Me.Calendar2.Visible = True

    End Sub
    Demo download
  • RE: Nhập ngày tháng thông qua Calendar Control

    cannguyen > 08-06-12, 03:13 PM

    Bác noname hay lắm
    Nhưng nếu trên form chỉ có 3 đối tượng: Textbox 'TuNgay'; Textbox 'DenNgay'; Combobox 'IN'; tức là mình thiết kế 1 kích thước form rất nhỏ nhưng cái ActiveX Control 'Calendar' nó chiếm 1 kích thước tương đối lớn trên form nên ta phải mở rộng form ra, nhưng khi chưa click nút command hoặc khi đã nhập xong ngày thì calendar ẩn đi, nó sẽ tạo ra 1 khoảng trống tương đối lớn trên form. Có cách nào khắc phục không nhỉ?
  • RE: Nhập ngày tháng thông qua Calendar Control

    ledangvan > 08-06-12, 03:22 PM

    Bác Noname cho em hỏi làm sao để ngày tháng trên cái lịch đó nó cập nhật theo ngày hệ thống ? Tức là lúc mở ra nó là ngày hiện tại.
  • RE: Nhập ngày tháng thông qua Calendar Control

    cannguyen > 08-06-12, 04:44 PM

    (08-06-12, 03:22 PM)ledangvan Đã viết: Bác Noname cho em hỏi làm sao để ngày tháng trên cái lịch đó nó cập nhật theo ngày hệ thống ? Tức là lúc mở ra nó là ngày hiện tại.

    Mặc định nó là ngày hệ thống mà bạn!
  • RE: Nhập ngày tháng thông qua Calendar Control

    Noname > 08-06-12, 05:12 PM

    (08-06-12, 03:13 PM)cannguyen Đã viết: Bác noname hay lắm
    Nhưng nếu trên form chỉ có 3 đối tượng: Textbox 'TuNgay'; Textbox 'DenNgay'; Combobox 'IN'; tức là mình thiết kế 1 kích thước form rất nhỏ nhưng cái ActiveX Control 'Calendar' nó chiếm 1 kích thước tương đối lớn trên form nên ta phải mở rộng form ra, nhưng khi chưa click nút command hoặc khi đã nhập xong ngày thì calendar ẩn đi, nó sẽ tạo ra 1 khoảng trống tương đối lớn trên form. Có cách nào khắc phục không nhỉ?
    Bởi vì nó có thuộc tính ẩn và nó luôn nằm đè lên trên đối tượng khác. Vì vậy bạn cứ thiết kế nó kéo chồng lên các đối tượng khác. Không ảnh hưởng gì cả
    (08-06-12, 03:22 PM)ledangvan Đã viết: Bác Noname cho em hỏi làm sao để ngày tháng trên cái lịch đó nó cập nhật theo ngày hệ thống ? Tức là lúc mở ra nó là ngày hiện tại.
    Thêm dòng sau vào sự kiện nút nhấn:

    Mã:
    If Not IsNull(txtFromDate) Or txtFromDate <> "" Then
    Me.Calendar2.Value = txtFromDate
    Else
    Calendar2.Value = Date
    End If
    Me.Calendar2.Visible = True
  • RE: Nhập ngày tháng thông qua Calendar Control

    cannguyen > 08-06-12, 05:27 PM

    (08-06-12, 05:12 PM)Noname Đã viết: [quote='cannguyen' pid='12498' dateline='1339139630']
    Bác noname hay lắm
    Nhưng nếu trên form chỉ có 3 đối tượng: Textbox 'TuNgay'; Textbox 'DenNgay'; Combobox 'IN'; tức là mình thiết kế 1 kích thước form rất nhỏ nhưng cái ActiveX Control 'Calendar' nó chiếm 1 kích thước tương đối lớn trên form nên ta phải mở rộng form ra, nhưng khi chưa click nút command hoặc khi đã nhập xong ngày thì calendar ẩn đi, nó sẽ tạo ra 1 khoảng trống tương đối lớn trên form. Có cách nào khắc phục không nhỉ?
    Bởi vì nó có thuộc tính ẩn và nó luôn nằm đè lên trên đối tượng khác. Vì vậy bạn cứ thiết kế nó kéo chồng lên các đối tượng khác. Không ảnh hưởng gì cả

    Bác noname cho hỏi chút xíu về chủ đề khác nhé.
    Trên main form mình có 1 subform, trong subform chỉ có 1 textbox, mình muốn truyền tham số từ subform đó ra 1 textbox trên main form thì công thức thế nào nhỉ?
  • RE: Nhập ngày tháng thông qua Calendar Control

    ledangvan > 08-06-12, 05:30 PM

    (08-06-12, 05:12 PM)Noname Đã viết:
    (08-06-12, 03:13 PM)cannguyen Đã viết: Bác noname hay lắm
    Nhưng nếu trên form chỉ có 3 đối tượng: Textbox 'TuNgay'; Textbox 'DenNgay'; Combobox 'IN'; tức là mình thiết kế 1 kích thước form rất nhỏ nhưng cái ActiveX Control 'Calendar' nó chiếm 1 kích thước tương đối lớn trên form nên ta phải mở rộng form ra, nhưng khi chưa click nút command hoặc khi đã nhập xong ngày thì calendar ẩn đi, nó sẽ tạo ra 1 khoảng trống tương đối lớn trên form. Có cách nào khắc phục không nhỉ?
    Bởi vì nó có thuộc tính ẩn và nó luôn nằm đè lên trên đối tượng khác. Vì vậy bạn cứ thiết kế nó kéo chồng lên các đối tượng khác. Không ảnh hưởng gì cả
    (08-06-12, 03:22 PM)ledangvan Đã viết: Bác Noname cho em hỏi làm sao để ngày tháng trên cái lịch đó nó cập nhật theo ngày hệ thống ? Tức là lúc mở ra nó là ngày hiện tại.
    Thêm dòng sau vào sự kiện nút nhấn:

    Mã:
    If Not IsNull(txtFromDate) Or txtFromDate <> "" Then
    Me.Calendar2.Value = txtFromDate
    Else
    Calendar2.Value = Date
    End If
    Me.Calendar2.Visible = True

    Thank bác Noname
  • RE: Nhập ngày tháng thông qua Calendar Control

    cannguyen > 08-06-12, 06:23 PM

    (07-06-12, 07:07 PM)Noname Đã viết:
    Calendar control là một ActiveX control cho phép bạn nhập ngày tháng vào Access một cách chính xác, nhanh chóng và hiệu quả. Cách làm như sau:

    1. vẽ 1 textbox đặt tên là txtFromdate
    2. Vẽ 1 button
    3. Click vào nút more control ở toolbox, tìm và chọn Calendar Control 11.0, Vào form, thả control này vào chỗ bạn muốn. Vào Properties đặt name của đối tượng này là Calendar2 và thuộc tính visible là No.
    4. Code cho sự kiện Click của Calendar như sau
    Mã:
    Private Sub Calendar2_Click()
    txtFromDate.Value = Calendar2
    Me.txtFromDate.SetFocus
    Me.Calendar2.Visible = False
    End Sub
    5. Code cho sự kiện click của nút nhấn
    Mã:
    Private Sub Command4_Click()
    If Not IsNull(txtFromDate) Or txtFromDate <> "" Then
    Me.Calendar2.Value = txtFromDate
    Else
    Calendar2.Value = Date
    End If
    Me.Calendar2.Visible = True

    End Sub
    Demo download

    Bác noname ơi, cái lịch này mình đặt trong Tab Control được không vậy? Khi mình làm nó báo lỗi như sau:
    The expression On Click you entered as the event property setting produced the following error: A problem occurred while "tên phần mềm" was communicating with the OLE server or ActiveX Contrl
    Giúp mình nhé
  • RE: Nhập ngày tháng thông qua Calendar Control

    Noname > 08-06-12, 11:12 PM

    (08-06-12, 06:23 PM)cannguyen Đã viết:
    (07-06-12, 07:07 PM)Noname Đã viết:
    Calendar control là một ActiveX control cho phép bạn nhập ngày tháng vào Access một cách chính xác, nhanh chóng và hiệu quả. Cách làm như sau:

    1. vẽ 1 textbox đặt tên là txtFromdate
    2. Vẽ 1 button
    3. Click vào nút more control ở toolbox, tìm và chọn Calendar Control 11.0, Vào form, thả control này vào chỗ bạn muốn. Vào Properties đặt name của đối tượng này là Calendar2 và thuộc tính visible là No.
    4. Code cho sự kiện Click của Calendar như sau
    Mã:
    Private Sub Calendar2_Click()
    txtFromDate.Value = Calendar2
    Me.txtFromDate.SetFocus
    Me.Calendar2.Visible = False
    End Sub
    5. Code cho sự kiện click của nút nhấn
    Mã:
    Private Sub Command4_Click()
    If Not IsNull(txtFromDate) Or txtFromDate <> "" Then
    Me.Calendar2.Value = txtFromDate
    Else
    Calendar2.Value = Date
    End If
    Me.Calendar2.Visible = True

    End Sub
    Demo download

    Bác noname ơi, cái lịch này mình đặt trong Tab Control được không vậy? Khi mình làm nó báo lỗi như sau:
    The expression On Click you entered as the event property setting produced the following error: A problem occurred while "tên phần mềm" was communicating with the OLE server or ActiveX Contrl
    Giúp mình nhé
    lại đặt dấu tiếng Việt chứ gì
  • RE: Nhập ngày tháng thông qua Calendar Control

    cannguyen > 08-06-12, 11:21 PM

    (08-06-12, 11:12 PM)Noname Đã viết:
    (08-06-12, 06:23 PM)cannguyen Đã viết:
    (07-06-12, 07:07 PM)Noname Đã viết:
    Calendar control là một ActiveX control cho phép bạn nhập ngày tháng vào Access một cách chính xác, nhanh chóng và hiệu quả. Cách làm như sau:

    1. vẽ 1 textbox đặt tên là txtFromdate
    2. Vẽ 1 button
    3. Click vào nút more control ở toolbox, tìm và chọn Calendar Control 11.0, Vào form, thả control này vào chỗ bạn muốn. Vào Properties đặt name của đối tượng này là Calendar2 và thuộc tính visible là No.
    4. Code cho sự kiện Click của Calendar như sau
    Mã:
    Private Sub Calendar2_Click()
    txtFromDate.Value = Calendar2
    Me.txtFromDate.SetFocus
    Me.Calendar2.Visible = False
    End Sub
    5. Code cho sự kiện click của nút nhấn
    Mã:
    Private Sub Command4_Click()
    If Not IsNull(txtFromDate) Or txtFromDate <> "" Then
    Me.Calendar2.Value = txtFromDate
    Else
    Calendar2.Value = Date
    End If
    Me.Calendar2.Visible = True

    End Sub
    Demo download

    Bác noname ơi, cái lịch này mình đặt trong Tab Control được không vậy? Khi mình làm nó báo lỗi như sau:
    The expression On Click you entered as the event property setting produced the following error: A problem occurred while "tên phần mềm" was communicating with the OLE server or ActiveX Contrl
    Giúp mình nhé
    lại đặt dấu tiếng Việt chứ gì

    Không có, mình đâu có đặt dấu tiếng Việt, mình muốn hỏi là Tab Control có làm được Calendar không thôi, nếu được để mình ktra lại.
    Cám ơn