User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the Visual Basic 4 / 5 / 6 section within the Software Development category of DaniWeb, a massive community of 427,160 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 1,971 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our Visual Basic 4 / 5 / 6 advertiser: Programming Forums
Views: 9445 | Replies: 8
Reply
Join Date: May 2005
Posts: 6
Reputation: azkabancells is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
azkabancells's Avatar
azkabancells azkabancells is offline Offline
Newbie Poster

Help vb6/common dialog/access db

  #1  
May 21st, 2005
I am undertaking a project but am hopelessly stuck. :cry: I have trawled the net, read books and followed tutorials but I just can't move forward. I would be really grateful if someone could help.

I need to create a sequential name and address file with the following options:

open a new file

open an existing file

add name and address info to open file

close a file

exit the program.

There are defined guidelines that I have so far stuck to. What I think I need to do is change my coding so I have an embedded db template that I can use to create a new db or open an existing db.

My code is as follows-

Dim TextFileNum As Integer
Dim OpenFileName As String
Dim db As Database
Dim rs As Recordset

Private Sub Form_Load()
OpenFileName = Empty
mnuClose.Enabled = False

End Sub

Private Sub mnuNew_Click()
f = FreeFile
CMDialog1.Filter = "all files|*.*|text|*.txt"
CMDialog1.FilterIndex = 0
CMDialog1.InitDir = App.Path
CMDialog1.ShowOpen
MsgBox "You selected: " + CMDialog1.FileName
Set db = OpenDatabase(CMDialog1.FileName)
Set rs = db.OpenRecordset("Table1")
rs.AddNew
rs![Name] = txtName.Text
rs![Address1] = txtAddress1.Text
rs![Address2] = txtAddress2.Text
rs![Address3] = txtAddress3.Text
rs![Postcode] = txtPostcode.Text
TextFileNum = FreeFile
OpenFileName = CMDialog1.FileName
Open OpenFileName For Output As #f
cmdAdd.Visible = True
mnuNew.Enabled = False
mnuOpen.Enabled = False
mnuClose.Enabled = True

End Sub

Private Sub mnuOpen_Click()

f = FreeFile
'CMDialog1.CancelError = True
'On Error GoTo Errhandler        &n bsp;         &n bsp;         'set error for cancel button
CMDialog1.Filter = "all files|*.*|text|*.txt"
CMDialog1.FilterIndex = 0
CMDialog1.InitDir = App.Path
CMDialog1.ShowOpen
MsgBox "You selected: " + CMDialog1.FileName
Set db = OpenDatabase(CMDialog1.FileName)
Set rs = db.OpenRecordset("Table1")
rs.Edit
txtName.Text = rs![Name]
txtAddress1.Text = rs![Address1]
txtAddress2.Text = rs![Address2]
txtAddress3.Text = rs![Address3]
txtPostcode.Text = rs![Postcode]
rs.MoveFirst

TextFileNum = FreeFile
OpenFileName = CMDialog1.FileName
Open OpenFileName For Append As #f
cmdAdd.Visible = True
mnuNew.Enabled = False
mnuOpen.Enabled = False
mnuClose.Enabled = True

Exit Sub

'Errhandler:
'MsgBox "You clicked the cancel button"
'Exit Sub

End Sub

Private Sub mnuClose_Click()

'if

cmdAdd.Visible = False

'then

mnuOpen.Enabled = True
mnuNew.Enabled = True
mnuClose.Enabled = False

'Else

MsgBox "001 File not open", vbOKOnly, "Error Details"

End Sub

Private Sub mnuExit_Click()
rs.Close
Close (f)
End
End Sub

Private Sub cmdAdd_Click()
'rs.AddNew
rs![Name] = txtName.Text
rs![Address1] = txtAddress1.Text
rs![Address2] = txtAddress2.Text
rs![Address3] = txtAddress3.Text
rs![Postcode] = txtPostcode.Text
rs.Update

End Sub
Ty for looking.
AddThis Social Bookmark Button
Reply With Quote  
Join Date: Dec 2004
Location: Lincoln Park, Michigan
Posts: 1,744
Reputation: Comatose is an unknown quantity at this point 
Rep Power: 7
Solved Threads: 108
Colleague
Comatose's Avatar
Comatose Comatose is offline Offline
Moderator

Re: vb6/common dialog/access db

  #2  
May 21st, 2005
What are you doing with the access database? It looks like to me, in your code, that you are mixing access databases with sequential files. Which do you want to use, an access database, or sequential files? You do this for access:

Set db = OpenDatabase(CMDialog1.FileName)

and then this:

OpenFileName = CMDialog1.FileName
Open OpenFileName For Append As #f


What is your ultimate goal? I can help you, but I need to know exactly what you are trying to accomplish.
Reply With Quote  
Join Date: May 2005
Posts: 6
Reputation: azkabancells is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
azkabancells's Avatar
azkabancells azkabancells is offline Offline
Newbie Poster

Re: vb6/common dialog/access db

  #3  
May 21st, 2005
ok ty your help is really appreciated as this is driving me nuts and taking up so much of my spare time. This is a project I am working through for an evening class (but we are allowed to get help from any source). The wording says a sequential name and address file, but the college I thought hinted that we needed a db to hold the name, address line 1, address line 2, address line 3 and postcode. We have been given various things that we have to put in our coding (including common dialog box) - hence most of what I have included.

Being a novice I am finding it so hard to make sense of the examples I am finding in books and on line.

My idea is that when I select file new it should allow me to open a new file (that I give a file name to) which is automatically linked to my textboxes. I then think that if I select file open I should be able to open any of my previously created files.

I have run into horrendous problems here and have had no luck even though I have tackled it in 3 or 4 different ways. Any help would be great.
Reply With Quote  
Join Date: Dec 2004
Location: Lincoln Park, Michigan
Posts: 1,744
Reputation: Comatose is an unknown quantity at this point 
Rep Power: 7
Solved Threads: 108
Colleague
Comatose's Avatar
Comatose Comatose is offline Offline
Moderator

Re: vb6/common dialog/access db

  #4  
May 21st, 2005
I'd like to read the requirements. It sounds to me like you could use 1 file for each person that is a record. So, there is a file for rob smith, who lives at 2200 se ave florida.... and another file for robin smithers, who lives at 0022 nw blvd, michigan.... let me see the specifics, and I'll help you out.
Reply With Quote  
Join Date: May 2005
Posts: 6
Reputation: azkabancells is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
azkabancells's Avatar
azkabancells azkabancells is offline Offline
Newbie Poster

Re: vb6/common dialog/access db

  #5  
May 21st, 2005
Ok so as I said earlier I need to create a sequential name and address file with the following options:

open a new file

open an existing file

add name and address info to open file

close a file

exit the program.

My form has a drop down menu with file new, open, close and exit options.
It has 5 textboxes - Name, Address1, Address2, Address3, Postcode and an add command button. It also has a common dialog control.

So it then goes on to say

code form_load
set the string variable OpenFileName to empty

code mnuNew_click
set file filters for all files or txt files in the common dialog
set FilterIndex to default to all files
display open file dialog
assign FreeFile number to the variable TextFileNum
open selected file as output
set OpenFileName variable to the common dialog FileName

code mnuOpen_click
set file filters for all files or txt files in the common dialog
set FilterIndex to default to all files
display open file dialog
assign FreeFile number to the variable TextFileNum
open selected file as append
set OpenFileName variable to the common dialog FileName

code mnuClose_click
if a file is open
close file
set string variable OpenFileName to empty

code mnuExit_click
if a file is open close it
end the program

code mnuAdd_click
write the data in the textboxes to the file
clear the data from the textboxes

There are some basic things I have left out such as message boxes and enabled properties etc - these are in the code already.

Hope this makes sense.

Thanks
Reply With Quote  
Join Date: May 2005
Posts: 6
Reputation: azkabancells is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
azkabancells's Avatar
azkabancells azkabancells is offline Offline
Newbie Poster

Re: vb6/common dialog/access db

  #6  
May 22nd, 2005
Can anyone help? As you can see by my coding I have done (I hope) the majority and am just stuck on how to put the information into a db or sequential file.

Am running out of time and ideas fast. Thanks
Reply With Quote  
Join Date: Dec 2004
Location: Lincoln Park, Michigan
Posts: 1,744
Reputation: Comatose is an unknown quantity at this point 
Rep Power: 7
Solved Threads: 108
Colleague
Comatose's Avatar
Comatose Comatose is offline Offline
Moderator

Re: vb6/common dialog/access db

  #7  
May 22nd, 2005
This has been fully commented. I would advise you to change some of the things in it, so that it fits the technique you are using, but, this should be a working copy of what you have been working on.
Attached Files
File Type: zip SomeProject.zip (2.6 KB, 24 views)
Reply With Quote  
Join Date: May 2005
Posts: 6
Reputation: azkabancells is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
azkabancells's Avatar
azkabancells azkabancells is offline Offline
Newbie Poster

Re: vb6/common dialog/access db

  #8  
May 22nd, 2005
Thank you so much for your help so far. Just one question (for now anyway!) is there a way that when i open a file I have already created it can show the data stored in the correct textboxes. I have tried playing around with the code but I can't seem to hit upon the correct terminology to make it work.

Ty
Reply With Quote  
Join Date: May 2005
Posts: 6
Reputation: azkabancells is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
azkabancells's Avatar
azkabancells azkabancells is offline Offline
Newbie Poster

Re: vb6/common dialog/access db

  #9  
May 22nd, 2005
Help me please somebody - I am in danger of taking a screwdriver to my laptop!!

This code kind of works in the mnuOpen

Dim TempStr As String ' Temporary Variable
Open OpenFileName For Input As #TextFileNum ' .. open the file
Do While Not EOF(1) ' While still records in file ..
Line Input #1, TempStr ' Read a line into the variable
txtName.Text = txtName.Text & TempStr & vbCrLf ' Display it in Text1
Loop

Close #1 ' All done: close the file

However 2 problems - my specification says open file as append and this only works if I open file for input. Also it lumps all of the inputted data together and displays it all in the one text box. Adding all of the text boxes just means all of the data is shown in all of the text boxes.

Dim TempStr As String ' Temporary Variable
Open OpenFileName For Input As #TextFileNum ' .. open the file
Do While Not EOF(1) ' While still records in file ..
Line Input #1, TempStr ' Read a line into the variable
txtName.Text = txtName.Text & TempStr & vbCrLf ' Display it in Text1
txtAddress1.Text = txtAddress1.Text & TempStr & vbCrLf
txtAddress2.Text = txtAddress2.Text & TempStr & vbCrLf
txtAddress3.Text = txtAddress3.Text & TempStr & vbCrLf
txtPostCode.Text = txtPostCode.Text & TempStr & vbCrLf
Loop

Close #1 ' All done: close the file

Thanks
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

DaniWeb Visual Basic 4 / 5 / 6 Marketplace
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

Thread Tools Display Modes

Similar Threads
Other Threads in the Visual Basic 4 / 5 / 6 Forum

All times are GMT -4. The time now is 8:28 pm.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC