inserting date into a table with visual basic

zolpo
zolpo used Ask the Experts™
on
hello,
I want to insert the date into a table with visual basic, i defined the date column to be Date type, I want to take the date from the machine by using Now() function that returns both date and time, I tried using Format function to get only the date:  Format (Now, "short date") but I got the following compiler error: "Can't find project or library"
which library do I need to inlude in order to use this function?
thanx.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
TimCotteeHead of Software Services

Commented:
Hi zolpo,

What database are you using, for access it would be something like:

"Insert Into MyTable MyField,MyDateField Values('My Value',#" & Format(Now(),"yyyy-mm-dd") & "#)"

For MS SQL it would be

"Insert Into MyTable MyField,MyDateField Values('My Value','" & Format(Now(),"yyyy-mm-dd") & "')"

Tim Cottee MCSD, MCDBA, CPIM
Brainbench MVP for Visual Basic
http://www.brainbench.com
Go to Project references and see wheather there any missing libararys/DLLS/TLBS in your project.Include the missing libararys and then complie this solves your problem
TimCotteeHead of Software Services

Commented:
As a note, the reason for using yyyy-mm-dd rather than short date is a simple one, especially if you are using MS Access. yyyy-mm-dd gives you effectively an unambiguous date format that will always be correctly interpreted when it is stored. MS Access is peculiar in that it will *ONLY* accept dates when they are passed in the american format mm/dd/yy regardless of the locale short date or long date setting. This can cause significant confusion and complication if you do not allow for it in this way.
Should you be charging more for IT Services?

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Author

Commented:
TimCottee, Thanks for your replay!
I wrote the query as u said, but my problem was the compiler error I got when using the Format function,
I'm using visual basic enterprise edition with Access 97,
the compiler gives the error on the following line i wrote:
hour = Format (Now, "short date") and marks the word "Format", the error i get is a run time error, "Compiler error : can't find project or library"
thanx

Go to Project references and see wheather there any missing libararys/DLLS/TLBS in your project.Include the missing libararys  
That's the SQL

STSQL="Insert Into <TABLE> (First_Date) Values(CDATE( ' "+Cstr(Date)+" ' ))"
 

Author

Commented:
rajaamirapu thanks,
what libraries do i need to include in order to use Format function???
(I searched the web for examples of using format function but non of them used any include)
Any libraries are missing in the references it will show the missing ones with missing:librarary name.
in the references dialog.

Author

Commented:
rajaamirapu,
I looked at the project refrences the missing libraries are:
Missing: Microsoft DAO 3.6 Object library
Missing: Microsoft activeX data objects (multi dimensional).....
I dont think that these libraries are connected to my problem,
however,
the library: Microsoft data formatting object is NOT missing, that's the library (I think) I need to use Format()
thanks
Include those libraries and see
Missing: Microsoft DAO 3.6 Object library
Missing: Microsoft activeX data objects (multi dimensional).....
This is because VB 6.0 will show complie error like that only.I had this problem before and i solved it by including those
Thanks
Your problem is with VBA.dll, some is corrupted or missing, maybe you have installed some new stuff recently. Try to locate that dll from your office installation, after that, unregister that dll, delete from the system, copy new one and re-register it.
Is the version of Microsoft activeX data objects (multi dimensional) is 2.5?

Author

Commented:
rajaamirapu
nope, it's 2.6
thanks
Include Microsoft activeX data objects (multi dimensional) is 2.6 and try
"....
hour = Format (Now, "short date") and marks the word "Format", the error i get is a run time error, "Compiler error : can't find project or library"
...."
Format function is included in VBA.dll (As all other string functions)
Cheers
Also Now(), by the way.

Commented:
Hi
You can get the date using Date function (dd-mm-yyyy) then use the format
Date function belongs to VBA.dll too.

Commented:
Is any reason you have include another reference that has format in

try to use

hour = VBA.Format (Now, "short date")

Author

Commented:
Thanks You All !
the problem was with the installation,
I re-install some stuff and it worked.
Thanks again

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial