|
Thanks for the help Colin.
I played around with it some more and eventually figured that it'd be easier to separate the printing to a file and printing to a printer processes entirely and just wrote the file using PrintLine while Printing the page using the e.Graphics.DrawString approach. It seems to work fairly ok.
Still find it amazing that the creators of this could have left out the functionality to just click a button and automatically print a given file.
e.Graphics.DrawString(" Insert text here", MyFont, Brushes.Black, X, Y)
|
|
|
|
|
Fionn wrote:
Still find it amazing that the creators of this could have left out the functionality to just click a button and automatically print a given file.
That's because printing usually ISN'T done with a straight text file, but with files of many different formats containing all kinds of junk like formatting codes and graphics.
RageInTheMachine9532
|
|
|
|
|
Hey Everyone! I'm a rookie at this stuff so I'm seeking help. I've built buttons and huge macros in my excel spreadsheets and I know how to assign buttons to my macros.
Here is where I'm stuck. I just learned how to build userforms with textboxes, buttons, and macros to activate userform. I just can't figure out how to open my userforms in my worksheet without going into the visual basic editor. I would like to learn how to program a button to open my userform in my worksheet. Can anyone please help me. If possible I would like to see a sample of codes. Thank you so much.....
|
|
|
|
|
I can't remember exactly, but in the code you have for a button you can do something like:
MyUserForm.Show() to launch your form... I think!
RageInTheMachine9532
|
|
|
|
|
TO: RageInTheMachine9532
Thank you so much for your input. It worked. Now I can continue on with my project for work.
|
|
|
|
|
No problem!
Thanks!
RageInTheMachine9532
|
|
|
|
|
There has to be an easy way!!!
If a query containing a left join returns a row where records on the right side of the join are not found, dbnulls are returned to the data set. To detect the dbnulls, I am currently changing the code for the dbnull field property in the <datasetname>.vb file.
Isn't there a way to configure the dataset elements so that a dbnull cast exception is not thrown without manually modifying the property code for each field? I would like to be able to specify a null string return for strings, 0 for numerical values, etc.
If anyone has some insight into this, I would appreciate s suggestion.
|
|
|
|
|
I'd say you would be better changing the SQL to return the appropriate value:
SELECT t1.c1 as t1c1, t1.c2 as t1c2, COALESCE(t2.c1, '') as t2c1, COALESCE(t2.c2, 0) as t2c2
FROM ...
t2.c1 is a string
t2.c2 is an integer
For more information look up the index on the SQL Server 2000 books online for COALESCE
--Colin Mackay--
"In the confrontation between the stream and the rock, the stream always wins - not through strength but perseverance." (H. Jackson Brown)
Enumerators in .NET: See how to customise foreach loops with C#
|
|
|
|
|
What script can I use to connect to an AS400 session from Excel?
I can use Excel to input and retrieve data from an IMS session (using Attachmate for Extra) with the following code:
Public Sessions As Object
Public System As Object
Public Sess0 As Object
Sub GetInfo()
Set System = CreateObject("Extra.System")
Set Sessions = System.Sessions
Set Sess0 = System.ActiveSession
Can VB script be used for the same connectivity to an AS 400 session? If so, what is the code for setting the objects?
Buuldawg
|
|
|
|
|
You'd do it the same way, but the catch is VBScript or Microsoft 'anything' doesn't come with objects standard that would do that. In your example, your using a 3rd party object to make the connection. For AS400, you'd have to use another 3rd party object, like Rumba from NetManage.
RageInTheMachine9532
|
|
|
|
|
Hi,
I am trying to open a database using mdb file.
I get the message '*.mdb not found' despite the fact that it exists n the specific path.
In the project pereferenes i added 'microsoft dao 3.6'.
What can i do to make it work???
Any help will do.
Thanks
|
|
|
|
|
From the error message, it looks like your actually trying to open a file called '*.mdb' (without the quotes). You can't use wildcards in any of the Open File functions.
But, a little code sample showing what your doing might help in diagnosing the problem.
RageInTheMachine9532
|
|
|
|
|
i tried to open a specific mdb file "xxx.mdb"
|
|
|
|
|
|
As RageInTheMachine9532 said, a code sample would help us help you. Right now we don't have enough information.
|
|
|
|
|
set db as database
set rec as recordset
open db=opendatabase("xx.mdb")
open rec=db.openrecordset("select * from xx",opendynaset)
I GOT ERROR AT LINE NUMBER 3
|
|
|
|
|
Well the syntax of your example is not correct but I think I know what you're trying to do.
The first thing that I'd do is try using the absolute path of the database and see if that works. Here is an example of the same code that I tried that worked.
<br />
Dim db As Database<br />
Dim rs As Recordset<br />
<br />
' open the database in the application directory<br />
Set db = OpenDatabase(App.Path & "\mydata.mdb")<br />
Set rs = db.OpenRecordset("SELECT * FROM MYTABLE")<br />
The only other thing that I'd recommend is that you use ADO vs. DAO.
|
|
|
|
|
i tried to do it but i get the same massege
any connection to the projet refrenses, i choose(microsoft dao 3.6)?
|
|
|
|
|
Then you might want to try hard coding the entire path to the database in your OpenDatabase statement because it looks like OpenDatabase can't find your filename in the default path or the path your project is running from.
Dim db As Database
Dim rs As Recordset
' open the database from exactly where I say it is
Set db = OpenDatabase("C:\FullPath\ToMyDatabase\mydata.mdb")
Set rs = db.OpenRecordset("SELECT * FROM MYTABLE")
and SERIOUSLY consider moving your code to ADO instead of DAO. DAO seems to be a dead technology.
If your using VB6, you can start here[^] to learn about ADO.
If your using VB.NET, you might want to start here[^].
RageInTheMachine9532
|
|
|
|
|
In Project References try using:
"Microsoft ActiveX Database Object 2.7 Library."
If you don't have the 2.7 library, you should have either 2.0, 2.1, 2.5, or 2.6. Use one of them.
I was looking in the VB documentation and for DAO it says that the OpenDatabase statement is depricated and that you should use the DBEngine object to open a database. So if you must use DAO, then try checking out the documentation on the DBEngine object.
By the way, I was able to use DAO to access my database. So maybe you have some other configuration problem.
|
|
|
|
|
I am using access 2003. is there any special configuration for this version that you know about that i should try?
|
|
|
|
|
Are you getting an error number?
I tried to open a file that didn't exist and I got a run time erro #3024. Is that what you get? Or do you get some other number error number?
Regarding Access 2003, I'm not aware of any configuration stuff that would affect a VB program.
|
|
|
|
|
Yes, this is the error number i get. but the exist.
|
|
|
|
|
I'm grasping at straws...but have you tried opening up another database file. Maybe create a database with one table and try to access that.
OR
Maybe it's a sharing violation. In the past I've had trouble opening a database if I had it open in MS-Access, especially if it's open exclusively by MS-Access.
|
|
|
|
|
This seems a real tricky one.
I want a class which is a single instance. So what I did was make all its members shared and they in turn are accessed by property gets/sets as you would expect. I then want a shared timer, so no matter how many other objects have a reference to my "singleton" class they all receive a polled event which emanates from the one timer.
I want a timer in the singleton class that polls all interested parties at one tick every 100 ms. Problem is because the timer is shared...
Shared mTimer as New Timer
The event that the Timer class raises is shared...
Shared Sub mTimer_Tick...
If I try and do this...
Shared Sub mTimer_Tick...
RaiseEvent MyTimerEvent
end sub
I have to write....
Shared event MyTimerEvent
But then in my object which utilises this class....
Dim WithEvents mObject as MySingletonObject
This fails because it says there are no events that can be raised on MySingletonObject which is bull. So this is something to do with have shared members that raise events that you in turn want to pass onto to a whole heap of other objects, and I can't find a way to do it. If I was to fall back to C++, I'd start sending Window messages, like the fix for having a timer on one thread which polls a window on another thread to say the timer has fired, remember that one!
Ah well, any corrections to my technique will cause tears and tantrums, but I will try and listen hahahaha
Thx!
Nursey
|
|
|
|