What event to use in datetimepicker - vb.net-2010

I have a datetimepicker using for filtering the datagridivew using a from to code. This is my code for filtering click. And event of my datetimepicker is ValueChanged. I want to trigger this code when i click a date from my datetimepicker, but when i click the same date from my datetimepicker it doesnt filter the datagridview. Example If the value of my DTP is 2019-11-15 and i need to filter my datagridview from 2019-11-15 i need to set my datetimepicker to 2019-11-15 but since its the same value it does not filter my datagridvuew
I want to only filter my datagridview when i click a date from my datetimepicker.
WHERE Date >= '" & DateTimePicker4.text & '" and Date <= '" & DateTimePicker3.Text & "'"

I think the .Text property will not do the work here. Use
DateTimePicker4.Value
and there are more options under that Value property that you can use.

Related

How to display date in date field with SAP B1 SDK?

I know how to display value in field of matrix in SAP B1 SDK, but I don't know how to display date in date field.
The variable FromDate contains a date from database and I want to display it in date field.
Below VBS code failed:
mtx2.Columns.Item("C_1_5").Cells.Item(mtx2.RowCount).Specific.string = FromDate
Below VBS code displays nothing in the field:
mtx2.Columns.Item("C_1_5").Cells.Item(mtx2.RowCount).Specific.string _
= Format(FromDate, "dd/MM/yyyy")
Does anyone know how to set the value of a date field?
I did it. I converted variable instead of field of query
Thank you

Date value returning in a different format on the first of each month

This question is related to this one, however I thought I'd create a new post since it's not the exact same issue, and the ideas on it were just being repeated.
I have a selection formula for my Crystal Report. It's supposed to select data where the Stage field in one table is 6, and the PaymentDate field in another is less than, or equal to, the value of the DateTimePicker control.
The code that I have below is working fine for most of the dates. However, say for example I have the following data in the database:
Sales_Headers.Stage = 6
Sales_Lines.PaymentDate = 28/01/2017 (January 28th, 2017)
When choosing a date of January 26th, up to January 31st, the data is only retrieved when the date is 28th or higher. However, if I then select a date of 1st February (Or the 1st of any month to be precise), it is returning the date as 02/01/2017, or, 2nd January 2017, so the data isn't shown.
Why is it changing for only the 1st of each month? All other dates are being read correctly, as dd/MM/yyyy, but on the first, it's using the MM portion as the dd portion.
I've tried:
Dim dateTo As Date = dtpCRTo.Value.AddDays(1).Date
dateTo = Format(dateTo, "dd/MM/yyyy")
If cmbCRSupplier.Value = "" Then
selectionFormula = "{Sales_Headers.Stage} = '6' AND {Sales_Lines.PaymentDate} < #" & dateTo & "#"
Then I tried this in the form_Load event, as well as in the Value_Changed event of the DateTimePicker:
Dim dateFormat As String
dt.Format = DateTimePickerFormat.Custom
dt.CustomFormat = "dd/MM/yyyy"
dateFormat = dt.Text
The final thing I tried was just to have no formatting code, and just using:
If cmbCRSupplier.Value = "" Then
selectionformula = "{Sales_Headers.Stage} = '6' AND {Sales_Lines.PaymentDate} <= #" & dtpCRTo.Value.Date & "#"
But it was the same result for all of them.
As well as the method #Siva was talking about (Always a good way, that way you can create the formula there and use the syntax that it's looking for), there is the way you're trying, to do it in VB.NET.
As I just mentioned, the syntax is important, and this is what is causing your issue.
I've not seen anyone try to use DateTimes in this method before, using `#value#.
The correct way to format dates into a RecordSelectionFormula (again, this is something you'll have seen if you'd have created it in Crystal itself), is to DATE(yyyy, MM, dd).
So, the correct way to syntax this is to use:
selectionFormula = "{Sales_Headers.Stage} = '6' AND {Sales_Lines.PaymentDate} <= DATE(" & _
dtpCRTo.Value.Date.Year & "," & dtpCRTo.Value.Date.Month & "," & dtpCRTo.Value.Date.Day & ")"
Use this method to insert your dates into selection formulas in the future, that way you can't get it wrong.
If this doesn't work, then you need to check your Region and Local Date/Time settings in Control Panel, to ensure they're set correctly.

DataGridView - display date in "Short Format" without casting to string

I take only date from a DateTimePicker (using DateTimePicker1.Value.Date) and I put it into a cell of a DataGridView.
Cell is displaing someting like
07/07/2016 00:00:00
I would like to display only date (07/07/2016) without changing data type to string.
I tried with
Me.DataGridView1.Columns("Date").DefaultCellStyle.Format("dd/MM/yyyy")
but doesn't worked
Here's the solution:
Me.DataGridView1.Columns("Date").DefaultCellStyle.Format = "dd/MM/yyyy"
Try this:
Me.DataGridView1.Columns("Date").DefaultCellStyle.Format = "d"

how to assign User defined date in vba excel

I need to assign a date for the user to give manual date as input and make use of input at later stage. when the user inserted manual date , it has to be used for the naming conventions for the file name. Ex football 20160601.xlsx
I have gone through some website but could not able to find any answers as per my requirement.
My code:
Sub date()
date_test = Now()
Range("A1") = Format(date_test, "mm.dd.yy") ' how to aassign this date as a user defined date( as manual date) something like msg box but not msgbox.
End date
Dim inputDate as Date
Date = Format(InputBox("Enter a Date", "Input"),"yyyy-mm-dd")
Something like this?
If you want a Datepicker to select the desired date, then create a new userform and add the "Microsoft Date and Time Picker Control" (Tools->Additional Controls) to the Form. Then you can use it's value like this: Format(DatePicker1.Value,"yyyymmdd")

Date and Time in datagridview

somebody help me with the problem that every time i save or update a data the date is working fine but the time is always 12:00AM. the time should be the time when I input the data and be saved into the database.
this is my code for the update
Dim i As Short
con.Open()
Using com As New SqlClient.SqlCommand("UPDATE Information set FiveS_Date = '" & DateTimePicker1.Text & "',FiveS_Score = '" & TextBox2.Text & "',FiveS_Total = '" & TextBox3.Text & "' ,FiveS_Percentage = '" & TextBox4.Text & "' WHERE Id='" & id & "'", con)
i = com.ExecuteNonQuery()
End Using
con.Close()
If (i > 0) Then
MsgBox("Training updated successfully", MsgBoxStyle.Information)
End If
please help.
You should use parameters to avoid the problem of data conversion when you use ADO.NET. This helps you also with different cultures in your application.
Anyway, DateTimePicker1.Valuewill give you also the time, but if you select a date which is different from default value of DateTimePicker (which is Now), then DateTimePicker will always give you the time "12:00". You have to format it to show time also and to have the possibility to set it (example "MM/dd/yyyy HH:mm").
Try changing DateTimePicker1.Text to DateTimePicker1.Value.ToString
.Text just returns what is visible (date only) whereas .Value returns the current time as well as the date displayed.
Try this :
FiveS_Date ='" + DateTime.Parse(datetxt.Text).ToString("dd/MM/yyy") +"'
For starters, DateTimePicker1.Text will only give you the String that is displayed in the DateTimePicker, by default the DateTimePickers format will only show you the Date and by default the time will be 12:00 AM. You can change the DateTimePicker format to show time by changing the Format field in the Properties Window of the DateTimePicker to Time.
DateTimePicker to Time format
Or by your sentence you want to save the date selected combined with the time you saved the data to the database, just make a new DateTime variable and insert the DateTimePicker Dates as values to that variable and the time from DateTime.Now() function which will return the current date and time.
Dim now As DateTime = DateTime.Now()
Dim myDate = new DateTime(DateTimePicker1.Value.Year, DateTimePicker1.Value.Month, DateTimePicker1.Value.Day, now.Hour, now.Minute, now.Second, now.Millisecond)
To insert time into database you need to use
DateTimePicker1.Value
instead of
DateTimePicker1.Text