[AccessD] Importing data using a Class..Who can help/review?

Andy Lacey andy at minstersystems.co.uk
Tue Mar 30 04:19:37 CST 2004


Sorry Sander, if you want to send an mdb you'll have to do so direct, ie
off-list.
--
Andy Lacey
http://www.minstersystems.co.uk



--------- Original Message --------
From: Access Developers discussion and problem solving
<accessd at databaseadvisors.com>
To: Access Developers discussion and problem solving
<accessd at databaseadvisors.com>
Subject: Re: [AccessD] Importing data using a Class..Who can help/review?
Date: 30/03/04 07:39

>
> OK, I wanted to add a minidb but a message has a max size of 30KB...
>
> I've added the code I use in the following order:
> Form
> Module
> Class
>
> I've got the following questions:
> Q1: I'm calling the method SaveLine via a function ImportInterface. I
don't think that this is very good programming.
> How can I improve this?
> Q2: I'm not using properties. Do I need them? For what and why?
>
> Q3: If anyone has more tips...
>
> Form Code
> Private Sub cmdReadFile_Click()
>    Dim intInterfaceID As Integer
>
>    intInterfaceID = cboImport
>
>    Call ImportInterface(cboImport, "D:Temp
ProjectenAccessInterface.dat")
> End Sub
>
> Module
>
>
'=========================================================================================
> ' Function Name      :  ImportInterface
> ' Parameters         :  intInterfaceID, strFilename
> ' Purpose            :  inserts every line of the interface into tblData
> ' Assumptions        :  ---
> ' Uses               :  ---
> ' Created            :  2004-03-29 07:56, SaDe
> ' Modifications      :
>
'=========================================================================================
> Public Sub ImportInterface(intInterfaceID As Integer, strFilename As
String)
>    Dim objFSO As FileSystemObject
>    Dim objTS As TextStream
>    Dim strCurrentLine As String
>    Dim strSQL As String
>    Dim dtmCurrentDate As Date
>    Dim intLineID As Integer
>    Dim cInterface As cInterface
>    Dim cnnConnection As ADODB.Connection
>    Dim blnSaveLineOK As Boolean
>
>    On Error GoTo ImportInterface_Error
>
>    Set cnnConnection = CurrentProject.Connection
>    Set objFSO = New FileSystemObject
>    Set objTS = objFSO.OpenTextFile(strFilename)
>    Set cInterface = New cInterface
>
>    blnSaveLineOK = False
>
>    intLineID = 1
>    cnnConnection.BeginTrans
>
>    Do While Not objTS.AtEndOfStream
>       'strCurrentLine = objTS.ReadLine
>       blnSaveLineOK = cInterface.SaveLine(cnnConnection, intInterfaceID,
intLineID, objTS.ReadLine)
>       intLineID = intLineID + 1
>    Loop
>
>    'Check if method executed correct
>    If blnSaveLineOK Then
>       cnnConnection.CommitTrans
>       Call MsgBox("Interface imported!", vbInformation)
>    Else
>       cnnConnection.RollbackTrans
>       Call MsgBox("An error occured!", vbCritical)
>    End If
>
>    Set cnnConnection = Nothing
>
>    Exit Sub
> ImportInterface_Exit:
>    ' Collect your garbage here
>    cnnConnection.RollbackTrans
>    Set cnnConnection = Nothing
>
>    Exit Sub
> ImportInterface_Error:
>    ' Collect your garbage here
>    MsgBox "An Error Occured!!!" & Err.Number &
";" & Err.Description
> End Sub
>
> class cInterface
> Function SaveLine(cnnConnection As ADODB.Connection, intInterfaceID As
Integer, intLineID As Integer, strLine As String) As Boolean
>    Dim rstInterfaceData As ADODB.Recordset
>
>    On Error GoTo SaveLine_Error
>    Set rstInterfaceData = New ADODB.Recordset
>
>    With rstInterfaceData
>       .ActiveConnection = cnnConnection
>       .CursorType = adOpenKeyset
>       .LockType = adLockOptimistic
>       .Source = "SELECT * FROM tblInterfaceData"
>       .Open
>
>       .AddNew
>       !InterfaceID = intInterfaceID
>       !InterfaceDate = Format(Now)
>       !InterfaceLine = intLineID
>       !InterfaceData = strLine
>       .Update
>    End With
>
>    Set rstInterfaceData = Nothing
>    'Set cnnConnection = Nothing
>    SaveLine = True
> SaveLine_Exit:
>    ' Collect your garbage here
>    Set rstInterfaceData = Nothing
>    'Set cnnConnection = Nothing
>    Exit Function
>
> SaveLine_Error:
>    ' Collect your garbage here
>    SaveLine = False
>    Call MsgBox(Err.Number & vbCrLf & _
>                Err.Description & vbCrLf & _
>                Err.Source & vbCrLf & _
>                "Newest.cInterface.SaveLine", vbCritical)
>    Resume SaveLine_Exit
> End Function
>
>
> rsmethurst at uk.ey.com wrote:
> Sure Sander...
>
> I will.
>
> Cheers
> Ryan
>
>
>
>
> S D
> Sent by: accessd-bounces at databaseadvisors.com
> 29/03/2004 14:46
> Please respond to Access Developers discussion and problem solving
>
>
> To: accessd
> cc:
> Subject: [AccessD] Importing data using a Class..Who can help/review?
>
>
> Hi group,
>
> I'm building a little app that is able to import textfiles. I want to do
> this using a class. I've made a start and it works! Does anybody have the
> time/interest to shoot at it?
>
> It's very basic.
> I've got:
> a class called: cInterface
> a method called: SaveLine
>
> TIA
>
> Sander
>
>
>
> ---------------------------------
> Do you Yahoo!?
> Yahoo! Finance Tax Center - File online. File on time.
> --
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
>
>
>
>
>
> This e-mail and any attachment are confidential and contain proprietary
information, some or all of which may be legally privileged. It is intended
solely for the use of the individual or entity to which it is addressed. If
you are not the intended recipient, please notify the author immediately by
telephone or by replying to this e-mail, and then delete all copies of the
e-mail on your system. If you are not the intended recipient, you must not
use, disclose, distribute, copy, print or rely on this e-mail.
>
> Whilst we have taken reasonable precautions to ensure that this e-mail and
any attachment has been checked for viruses, we cannot guarantee that they
are virus free and we cannot accept liability for any damage sustained as a
result of software viruses. We would advise that you carry out your own
virus checks, especially before opening an attachment.
>
> The UK firm Ernst & Young LLP is a limited liability partnership
registered in England and Wales with registered number OC300001 and is a
member practice of Ernst & Young Global. A list of members? names is
available for inspection at 1 More London Place, London, SE1 2AF, the firm?s
principal place of business and its registered office.
> --
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
> ---------------------------------
> Do you Yahoo!?
> Yahoo! Finance Tax Center - File online. File on time.
> --
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
>
>
>
>
>

________________________________________________
Message sent using UebiMiau 2.7.2




More information about the AccessD mailing list