After you've updated records or added new records, you can write the changes back to the delimited text file that serves as the data source for your data-aware class. You can add a public method to the class that writes records to a file, then invoke the method in your applications.
This topic shows how to modify the CustomerDataSource class to provide a public method to write records back to the Customers.txt file, and how to invoke the method on your customer address form.
To modify the class and form to write all records back to the delimited text file
Note This topic is part of a series that walks you through creating a simple database application that interacts with data in a tab-delimited text file. It begins with the topic Interacting with Data in an ASCII Text File.
By adding Sub procedures to your class, you can provide public methods to applications that use your class as a data source. For example, you can create a public method in your CustomerDataSource class that writes current records from the rsCustomers recordset to the Customers.txt delimited text file. The text file will then include any changes or additions you've made to the recordset.
To create a public WriteToFile method, add the following code to the CustomerDataSource class:
Public Sub WriteToFile()
Dim fld As ADODB.Field
Dim strRow As String
Dim strField As String
Open "Customers.txt" For Output As #1
With rsCustomers
.MoveFirst
Do While Not .EOF
For Each fld In .Fields
' If a field has a value, add quotation marks.
If Len(fld.Value) > 0 Then
strField = Chr(34) & fld.Value & Chr(34)
Else
strField = ""
End If
' Add the field value and a tab delimeter
' to the output string.
strRow = strRow & strField & Chr(9)
Next
' Strip off the end tab character.
strRow = Left(strRow, Len(strRow) - 1)
' Print the output string.
Print #1, strRow
strRow = ""
.MoveNext
Loop
End With
Close
End Sub
Once you've created a public method in your data-aware class, you can use it in any application that requires the same functionality. For example, by creating a public method for writing records to a delimited text file, you can easily create a WriteToFile button on your customer address form. The command button requires a single line of code.
To create a WriteToFile button, add a command button to the form and change its Caption and Name properties to WriteToFile. Then add the following line to the command button's WriteToFile_Click event procedure:
objDataSource.WriteToFile
The code uses the WriteToFile method you created for the CustomerDataSource class.
You may want to hide the WriteToFile button while users enter data on the form. To hide the command button during data entry, add the following code to the DataEntry_Click event procedure:
Me.WriteToFile.Visible = False
And if you hide the WriteToFile button while users enter data, make it visible again while users view data. To do so, add the following code to the ViewData_Click event procedure:
Me.WriteToFile.Visible = True
This topic concludes a series that walks you through creating a simple database application that interacts with data in a tab-delimited text file. To start from the beginning, see Interacting with Data in an ASCII Text File.
For More Information For information on data sources, see Creating Data Sources in the Component Tools Guide.