[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 134
  • Last Modified:

Can I store a VB form into the database (e.g. MSDE)?

Can I store a VB form object or the source code into the Database?
Later, I can reteive this form and run within the program.

Is it work?

Thank You.
0
morye
Asked:
morye
1 Solution
 
vinnyd79Commented:
You could save the file into an OLE Field. This example uses a Database with 2 fields.One for the form name and one to store the file.The Data field should be an OLE Object Field:

' Add Reference to Microsoft ActiveX Data Objects Library
Option Explicit

Public rs As ADODB.Recordset
Public cn As ADODB.Connection
Public stmObj As ADODB.Stream

' save file to db
Private Sub Command1_Click()
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Db1.mdb';"
cn.Open
Set rs = New ADODB.Recordset
rs.Open "Select * From Table1", cn, adOpenKeyset, adLockOptimistic

Set stmObj = New ADODB.Stream
    stmObj.Type = adTypeBinary
    stmObj.Open
    'load file into stream
    stmObj.LoadFromFile "C:\Form1.frm"
    'save to db
    With rs
        .AddNew
        .Fields("Form Name") = "Form1.frm"
        .Fields("Data") = stmObj.Read
        .Update
    End With
    stmObj.Close

Set stmObj = Nothing
Set rs = Nothing
Set cn = Nothing
End Sub


' retrieve the file to disk
Private Sub Command2_Click()
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Db1.mdb';"
cn.Open
Set rs = New ADODB.Recordset
rs.Open "Select * From Table1 Where [Form Name]='Form1.frm'", cn, adOpenKeyset, adLockOptimistic

    Set stmObj = New ADODB.Stream
    'load file into stream
    With stmObj
        .Type = adTypeBinary
        .Open
        .Write rs.Fields("Data").Value
        .SaveToFile "C:\Form1.frm", adSaveCreateOverWrite
        .Close
    End With

Set stmObj = Nothing
Set rs = Nothing
Set cn = Nothing
End Sub
0
 
moryeAuthor Commented:
Thank you so much~
I wil try it.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now