Hi all,

Here is what I am trying to do, hope someone can help me implement
this.

Every hour, I would like a script that does the following (in vbscript
cause that's the only one I am even remotely comfortable with)

1- Extract from a secure database 4 query result tables and copy them
into a new unsecure database

2- Connect to the internet

3- Send the new unsecure database to our servers online

4- Close the internet connection


I think I have figured out how to do step number 3 through an ftp -s:
script and ftp command .txt file.

My problem is really step 1, so far, I have only been able to create a
new blank database, with the structures of the 4 tables receiving the
query results built. I am stuck here, I can't even transfer the query
results to the database, and I haven't even started looking at how to
unsecure the new database, and/or tables.

Does anyone know of any efficient, quick way of doing, the above?

I think I can manage with steps 2 and 4, Step 1 is really my problem
here.


I have so far the following code.




----BEGINNING OF CODE




'**********************************************************************************************
'**********************************************************************************************
'**********************************************************************************************

' DECLARE VARIABLES


'**********************************************************************************************
'**********************************************************************************************
'**********************************************************************************************





Dim appAccess, appAccess2, filesys, filedelete, db
Dim t1, t2, t3, t4, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12,
f13, f14, i1, i2, i3, i4

Const DB_TEXT = 10
Const DB_LONG = 4
Const DB_DATE = 8
Const DB_DOUBLE = 7
Const AcFormatXLS = "Microsoft Excel (*.xls)"
Const AcOutputTable = 0
Const AcOutputQuery = 1
Const et1 = "FastTrackOperation"


Const OldPath = "D:\Main\Design\FlashTest\Bck-Jun-10-04.mdb"
Const InterPath = "D:\db2.xls"
Const NewPath = "D:\db2.mdb"








'**********************************************************************************************
'**********************************************************************************************
'**********************************************************************************************

' DELETE DB2.MDB IF PRESENT


'**********************************************************************************************
'**********************************************************************************************
'**********************************************************************************************




Set filesys = CreateObject("Scripting.FileSystemObject")

If filesys.FileExists(NewPath) Then
Set filedelete = filesys.GetFile(NewPath)
filedelete.Delete
Set filedelete = Nothing
End If

Set filesys = Nothing




'**********************************************************************************************
'**********************************************************************************************
'**********************************************************************************************

' CREATE BRAND NEW DATABASE


'**********************************************************************************************
'**********************************************************************************************
'**********************************************************************************************




Set appAccess = CreateObject("Access.Application.10")
appAccess.NewCurrentDatabase NewPath


Set db = appAccess.CurrentDb


'**********************************************************************************************
'**********************************************************************************************

' CREATE TABLE 1

'**********************************************************************************************
'**********************************************************************************************


Set t1 = db.CreateTableDef("t1")

Set f1 = t1.CreateField("f1", DB_LONG, 40)
f1.Required = -1
t1.Fields.Append f1

Set f2 = t1.CreateField("f2", DB_LONG, 40)
f2.Required = -1
t1.Fields.Append f2

Set f3 = t1.CreateField("f3", DB_TEXT, 40)
f3.Required = -1
t1.Fields.Append f3

Set f4 = t1.CreateField("f4", DB_TEXT, 40)
f4.Required = -1
t1.Fields.Append f4

Set f5 = t1.CreateField("f5", DB_DATE, 40)
f5.Required = -1
t1.Fields.Append f5

Set f6 = t1.CreateField("f6", DB_TEXT, 40)
f6.Required = -1
t1.Fields.Append f6

Set f7 = t1.CreateField("f7", DB_DATE, 40)
t1.Fields.Append f7

Set f8 = t1.CreateField("f8", DB_TEXT, 40)
t1.Fields.Append f8

Set f9 = t1.CreateField("f9", DB_TEXT, 40)
t1.Fields.Append f9

Set i1 = t1.CreateIndex("i1")

Set f1 = i1.CreateField("f1", DB_LONG, 40)
i1.Fields.Append f1
i1.Primary = -1
i1.Unique = -1

t1.Indexes.Append i1

Set i2 = t1.CreateIndex("i2")

Set f2 = i2.CreateField("f2", DB_LONG, 40)
i2.Fields.Append f2
i2.Primary = 0
i2.Unique = 0

t1.Indexes.Append i2

db.TableDefs.Append t1



'**********************************************************************************************
'**********************************************************************************************

' CREATE TABLE 2

'**********************************************************************************************
'**********************************************************************************************



Set t2 = db.CreateTableDef("t2")

Set f1 = t2.CreateField("f1", DB_LONG, 40)
f1.Required = -1
t2.Fields.Append f1

Set f2 = t2.CreateField("f2", DB_TEXT, 40)
f2.Required = -1
t2.Fields.Append f2

Set f3 = t2.CreateField("f3", DB_LONG, 40)
f3.Required = -1
t2.Fields.Append f3

Set f4 = t2.CreateField("f4", DB_TEXT, 40)
f4.Required = -1
t2.Fields.Append f4

Set f5 = t2.CreateField("f5", DB_TEXT, 40)
t2.Fields.Append f5

Set f6 = t2.CreateField("f6", DB_LONG, 40)
t2.Fields.Append f6

Set f7 = t2.CreateField("f7", DB_LONG, 40)
t2.Fields.Append f7

Set f8 = t2.CreateField("f8", DB_LONG, 40)
f8.Required = -1
t2.Fields.Append f8

Set i1 = t2.CreateIndex("i1")

Set f1 = i1.CreateField("f1", DB_LONG, 40)
i1.Fields.Append f1
i1.Primary = 0
i1.Unique = 0

t2.Indexes.Append i1

Set i2 = t2.CreateIndex("i2")

Set f2 = i2.CreateField("f2", DB_TEXT, 40)
i2.Fields.Append f2
i2.Primary = 0
i2.Unique = 0

t2.Indexes.Append i2

Set i3 = t2.CreateIndex("i3")

Set f8 = i3.CreateField("f8", DB_LONG, 40)
i3.Fields.Append f8
i3.Primary = -1
i3.Unique = -1

t2.Indexes.Append i3

db.TableDefs.Append t2



'**********************************************************************************************
'**********************************************************************************************

' CREATE TABLE 3

'**********************************************************************************************
'**********************************************************************************************



Set t3 = db.CreateTableDef("t3")

Set f1 = t3.CreateField("f1", DB_LONG, 40)
f1.Required = -1
t3.Fields.Append f1

Set f2 = t3.CreateField("f2", DB_DATE, 40)
f2.Required = -1
t3.Fields.Append f2

Set f3 = t3.CreateField("f3", DB_DATE, 40)
f3.Required = -1
t3.Fields.Append f3

Set f4 = t3.CreateField("f4", DB_LONG, 40)
t3.Fields.Append f4

Set f5 = t3.CreateField("f5", DB_TEXT, 40)
f5.Required = -1
t3.Fields.Append f5

Set f6 = t3.CreateField("f6", DB_TEXT, 40)
t3.Fields.Append f6

Set f7 = t3.CreateField("f7", DB_TEXT, 40)
t3.Fields.Append f7

Set i1 = t3.CreateIndex("i1")

Set f1 = i1.CreateField("f1", DB_LONG, 40)
i1.Fields.Append f1

Set f2 = i1.CreateField("f2", DB_DATE, 40)
i1.Fields.Append f2

Set f3 = i1.CreateField("f3", DB_DATE, 40)
i1.Fields.Append f3

i1.Primary = -1
i1.Unique = -1

t3.Indexes.Append i1

Set i2 = t3.CreateIndex("i2")

Set f5 = i2.CreateField("f5", DB_TEXT, 40)
i2.Fields.Append f5
i2.Primary = 0
i2.Unique = 0

t3.Indexes.Append i2

db.TableDefs.Append t3



'**********************************************************************************************
'**********************************************************************************************

' CREATE TABLE 4

'**********************************************************************************************
'**********************************************************************************************



Set t4 = db.CreateTableDef("t4")
Set f1 = t4.CreateField("f1", DB_LONG, 40)
t4.Fields.Append f1
Set f2 = t4.CreateField("f2", DB_TEXT, 40)
t4.Fields.Append f2
Set f3 = t4.CreateField("f3", DB_DATE, 40)
t4.Fields.Append f3
Set f4 = t4.CreateField("f4", DB_DOUBLE, 40)
t4.Fields.Append f4
Set f5 = t4.CreateField("f5", DB_DOUBLE, 40)
t4.Fields.Append f5
Set f6 = t4.CreateField("f6", DB_DOUBLE, 40)
t4.Fields.Append f6
Set f7 = t4.CreateField("f7", DB_DOUBLE, 40)
t4.Fields.Append f7
Set f8 = t4.CreateField("f8", DB_DOUBLE, 40)
t4.Fields.Append f8
Set f9 = t4.CreateField("f9", DB_DOUBLE, 40)
t4.Fields.Append f9
Set f10 = t4.CreateField("f10", DB_LONG, 40)
t4.Fields.Append f10
Set f11 = t4.CreateField("f11", DB_LONG, 40)
t4.Fields.Append f11
Set f12 = t4.CreateField("f12", DB_DOUBLE, 40)
t4.Fields.Append f12
Set f13 = t4.CreateField("f13", DB_DOUBLE, 40)
t4.Fields.Append f13
Set f14 = t4.CreateField("f14", DB_TEXT, 40)
t4.Fields.Append f14
db.TableDefs.Append t4



'**********************************************************************************************
'**********************************************************************************************
'**********************************************************************************************

' EXPORT ACCESS QUERIES TO EXCEL


'**********************************************************************************************
'**********************************************************************************************
'**********************************************************************************************

Set appAccess = Nothing
Set db = Nothing


Set appAccess2 = CreateObject("Access.Application.10")
appAccess2.OpenCurrentDatabase OldPath


'appAccess2.DoCmd.OutputTo acOutputTable, et1, acFormatXLS, InterPath
'appAccess2.DoCmd.TransferDatabase acExport, "Microsoft Access",
NewPath, AcOutputTable, et1, "[Test1]", False
appAccess2.DoCmd.CopyObject NewPath, , AcTable, et1

'NOTHING SEEMS TO WORK HERE _ GET VARIOUS ERRORS ACCROSS ALL THREE
TECHNIQUES



appAccess2.CloseCurrentDatabase
appAccess2.Quit
Set appAccess2 = Nothing


'**********************************************************************************************
'**********************************************************************************************
'**********************************************************************************************

' CLEAR ALL OBJECTS


'**********************************************************************************************
'**********************************************************************************************
'**********************************************************************************************





Set t1 = Nothing
Set t2 = Nothing
Set t3 = Nothing
Set t4 = Nothing
Set f1 = Nothing
Set f2 = Nothing
Set f3 = Nothing
Set f4 = Nothing
Set f5 = Nothing
Set f6 = Nothing
Set f7 = Nothing
Set f8 = Nothing
Set f9 = Nothing
Set f10 = Nothing
Set f11 = Nothing
Set f12 = Nothing
Set f13 = Nothing
Set f14 = Nothing
Set i1 = Nothing
Set i2 = Nothing
Set i3 = Nothing
Set i4 = Nothing

Set appAccess2 = Nothing
Set appAccess = Nothing
Set db = Nothing

Re: Vbscript for database manipulation by Jim

Jim
Thu Oct 14 09:35:34 CDT 2004

roger wrote:

Download sample Shopping Cart app from VPASP.COM

There are many ADO examples there to help you out.

ADO and ASP is the answer I think for you.

> Hi all,
>
> Here is what I am trying to do, hope someone can help me implement
> this.
>
> Every hour, I would like a script that does the following (in vbscript
> cause that's the only one I am even remotely comfortable with)
>
> 1- Extract from a secure database 4 query result tables and copy them
> into a new unsecure database
>
> 2- Connect to the internet
>
> 3- Send the new unsecure database to our servers online
>
> 4- Close the internet connection
>
>
> I think I have figured out how to do step number 3 through an ftp -s:
> script and ftp command .txt file.
>
> My problem is really step 1, so far, I have only been able to create a
> new blank database, with the structures of the 4 tables receiving the
> query results built. I am stuck here, I can't even transfer the query
> results to the database, and I haven't even started looking at how to
> unsecure the new database, and/or tables.
>
> Does anyone know of any efficient, quick way of doing, the above?
>
> I think I can manage with steps 2 and 4, Step 1 is really my problem
> here.
>
>
> I have so far the following code.
>
>
>
>
> ----BEGINNING OF CODE
>
>
>
>
> '**********************************************************************************************
> '**********************************************************************************************
> '**********************************************************************************************
>
> ' DECLARE VARIABLES
>
>
> '**********************************************************************************************
> '**********************************************************************************************
> '**********************************************************************************************
>
>
>
>
>
> Dim appAccess, appAccess2, filesys, filedelete, db
> Dim t1, t2, t3, t4, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12,
> f13, f14, i1, i2, i3, i4
>
> Const DB_TEXT = 10
> Const DB_LONG = 4
> Const DB_DATE = 8
> Const DB_DOUBLE = 7
> Const AcFormatXLS = "Microsoft Excel (*.xls)"
> Const AcOutputTable = 0
> Const AcOutputQuery = 1
> Const et1 = "FastTrackOperation"
>
>
> Const OldPath = "D:\Main\Design\FlashTest\Bck-Jun-10-04.mdb"
> Const InterPath = "D:\db2.xls"
> Const NewPath = "D:\db2.mdb"
>
>
>
>
>
>
>
>
> '**********************************************************************************************
> '**********************************************************************************************
> '**********************************************************************************************
>
> ' DELETE DB2.MDB IF PRESENT
>
>
> '**********************************************************************************************
> '**********************************************************************************************
> '**********************************************************************************************
>
>
>
>
> Set filesys = CreateObject("Scripting.FileSystemObject")
>
> If filesys.FileExists(NewPath) Then
> Set filedelete = filesys.GetFile(NewPath)
> filedelete.Delete
> Set filedelete = Nothing
> End If
>
> Set filesys = Nothing
>
>
>
>
> '**********************************************************************************************
> '**********************************************************************************************
> '**********************************************************************************************
>
> ' CREATE BRAND NEW DATABASE
>
>
> '**********************************************************************************************
> '**********************************************************************************************
> '**********************************************************************************************
>
>
>
>
> Set appAccess = CreateObject("Access.Application.10")
> appAccess.NewCurrentDatabase NewPath
>
>
> Set db = appAccess.CurrentDb
>
>
> '**********************************************************************************************
> '**********************************************************************************************
>
> ' CREATE TABLE 1
>
> '**********************************************************************************************
> '**********************************************************************************************
>
>
> Set t1 = db.CreateTableDef("t1")
>
> Set f1 = t1.CreateField("f1", DB_LONG, 40)
> f1.Required = -1
> t1.Fields.Append f1
>
> Set f2 = t1.CreateField("f2", DB_LONG, 40)
> f2.Required = -1
> t1.Fields.Append f2
>
> Set f3 = t1.CreateField("f3", DB_TEXT, 40)
> f3.Required = -1
> t1.Fields.Append f3
>
> Set f4 = t1.CreateField("f4", DB_TEXT, 40)
> f4.Required = -1
> t1.Fields.Append f4
>
> Set f5 = t1.CreateField("f5", DB_DATE, 40)
> f5.Required = -1
> t1.Fields.Append f5
>
> Set f6 = t1.CreateField("f6", DB_TEXT, 40)
> f6.Required = -1
> t1.Fields.Append f6
>
> Set f7 = t1.CreateField("f7", DB_DATE, 40)
> t1.Fields.Append f7
>
> Set f8 = t1.CreateField("f8", DB_TEXT, 40)
> t1.Fields.Append f8
>
> Set f9 = t1.CreateField("f9", DB_TEXT, 40)
> t1.Fields.Append f9
>
> Set i1 = t1.CreateIndex("i1")
>
> Set f1 = i1.CreateField("f1", DB_LONG, 40)
> i1.Fields.Append f1
> i1.Primary = -1
> i1.Unique = -1
>
> t1.Indexes.Append i1
>
> Set i2 = t1.CreateIndex("i2")
>
> Set f2 = i2.CreateField("f2", DB_LONG, 40)
> i2.Fields.Append f2
> i2.Primary = 0
> i2.Unique = 0
>
> t1.Indexes.Append i2
>
> db.TableDefs.Append t1
>
>
>
> '**********************************************************************************************
> '**********************************************************************************************
>
> ' CREATE TABLE 2
>
> '**********************************************************************************************
> '**********************************************************************************************
>
>
>
> Set t2 = db.CreateTableDef("t2")
>
> Set f1 = t2.CreateField("f1", DB_LONG, 40)
> f1.Required = -1
> t2.Fields.Append f1
>
> Set f2 = t2.CreateField("f2", DB_TEXT, 40)
> f2.Required = -1
> t2.Fields.Append f2
>
> Set f3 = t2.CreateField("f3", DB_LONG, 40)
> f3.Required = -1
> t2.Fields.Append f3
>
> Set f4 = t2.CreateField("f4", DB_TEXT, 40)
> f4.Required = -1
> t2.Fields.Append f4
>
> Set f5 = t2.CreateField("f5", DB_TEXT, 40)
> t2.Fields.Append f5
>
> Set f6 = t2.CreateField("f6", DB_LONG, 40)
> t2.Fields.Append f6
>
> Set f7 = t2.CreateField("f7", DB_LONG, 40)
> t2.Fields.Append f7
>
> Set f8 = t2.CreateField("f8", DB_LONG, 40)
> f8.Required = -1
> t2.Fields.Append f8
>
> Set i1 = t2.CreateIndex("i1")
>
> Set f1 = i1.CreateField("f1", DB_LONG, 40)
> i1.Fields.Append f1
> i1.Primary = 0
> i1.Unique = 0
>
> t2.Indexes.Append i1
>
> Set i2 = t2.CreateIndex("i2")
>
> Set f2 = i2.CreateField("f2", DB_TEXT, 40)
> i2.Fields.Append f2
> i2.Primary = 0
> i2.Unique = 0
>
> t2.Indexes.Append i2
>
> Set i3 = t2.CreateIndex("i3")
>
> Set f8 = i3.CreateField("f8", DB_LONG, 40)
> i3.Fields.Append f8
> i3.Primary = -1
> i3.Unique = -1
>
> t2.Indexes.Append i3
>
> db.TableDefs.Append t2
>
>
>
> '**********************************************************************************************
> '**********************************************************************************************
>
> ' CREATE TABLE 3
>
> '**********************************************************************************************
> '**********************************************************************************************
>
>
>
> Set t3 = db.CreateTableDef("t3")
>
> Set f1 = t3.CreateField("f1", DB_LONG, 40)
> f1.Required = -1
> t3.Fields.Append f1
>
> Set f2 = t3.CreateField("f2", DB_DATE, 40)
> f2.Required = -1
> t3.Fields.Append f2
>
> Set f3 = t3.CreateField("f3", DB_DATE, 40)
> f3.Required = -1
> t3.Fields.Append f3
>
> Set f4 = t3.CreateField("f4", DB_LONG, 40)
> t3.Fields.Append f4
>
> Set f5 = t3.CreateField("f5", DB_TEXT, 40)
> f5.Required = -1
> t3.Fields.Append f5
>
> Set f6 = t3.CreateField("f6", DB_TEXT, 40)
> t3.Fields.Append f6
>
> Set f7 = t3.CreateField("f7", DB_TEXT, 40)
> t3.Fields.Append f7
>
> Set i1 = t3.CreateIndex("i1")
>
> Set f1 = i1.CreateField("f1", DB_LONG, 40)
> i1.Fields.Append f1
>
> Set f2 = i1.CreateField("f2", DB_DATE, 40)
> i1.Fields.Append f2
>
> Set f3 = i1.CreateField("f3", DB_DATE, 40)
> i1.Fields.Append f3
>
> i1.Primary = -1
> i1.Unique = -1
>
> t3.Indexes.Append i1
>
> Set i2 = t3.CreateIndex("i2")
>
> Set f5 = i2.CreateField("f5", DB_TEXT, 40)
> i2.Fields.Append f5
> i2.Primary = 0
> i2.Unique = 0
>
> t3.Indexes.Append i2
>
> db.TableDefs.Append t3
>
>
>
> '**********************************************************************************************
> '**********************************************************************************************
>
> ' CREATE TABLE 4
>
> '**********************************************************************************************
> '**********************************************************************************************
>
>
>
> Set t4 = db.CreateTableDef("t4")
> Set f1 = t4.CreateField("f1", DB_LONG, 40)
> t4.Fields.Append f1
> Set f2 = t4.CreateField("f2", DB_TEXT, 40)
> t4.Fields.Append f2
> Set f3 = t4.CreateField("f3", DB_DATE, 40)
> t4.Fields.Append f3
> Set f4 = t4.CreateField("f4", DB_DOUBLE, 40)
> t4.Fields.Append f4
> Set f5 = t4.CreateField("f5", DB_DOUBLE, 40)
> t4.Fields.Append f5
> Set f6 = t4.CreateField("f6", DB_DOUBLE, 40)
> t4.Fields.Append f6
> Set f7 = t4.CreateField("f7", DB_DOUBLE, 40)
> t4.Fields.Append f7
> Set f8 = t4.CreateField("f8", DB_DOUBLE, 40)
> t4.Fields.Append f8
> Set f9 = t4.CreateField("f9", DB_DOUBLE, 40)
> t4.Fields.Append f9
> Set f10 = t4.CreateField("f10", DB_LONG, 40)
> t4.Fields.Append f10
> Set f11 = t4.CreateField("f11", DB_LONG, 40)
> t4.Fields.Append f11
> Set f12 = t4.CreateField("f12", DB_DOUBLE, 40)
> t4.Fields.Append f12
> Set f13 = t4.CreateField("f13", DB_DOUBLE, 40)
> t4.Fields.Append f13
> Set f14 = t4.CreateField("f14", DB_TEXT, 40)
> t4.Fields.Append f14
> db.TableDefs.Append t4
>
>
>
> '**********************************************************************************************
> '**********************************************************************************************
> '**********************************************************************************************
>
> ' EXPORT ACCESS QUERIES TO EXCEL
>
>
> '**********************************************************************************************
> '**********************************************************************************************
> '**********************************************************************************************
>
> Set appAccess = Nothing
> Set db = Nothing
>
>
> Set appAccess2 = CreateObject("Access.Application.10")
> appAccess2.OpenCurrentDatabase OldPath
>
>
> 'appAccess2.DoCmd.OutputTo acOutputTable, et1, acFormatXLS, InterPath
> 'appAccess2.DoCmd.TransferDatabase acExport, "Microsoft Access",
> NewPath, AcOutputTable, et1, "[Test1]", False
> appAccess2.DoCmd.CopyObject NewPath, , AcTable, et1
>
> 'NOTHING SEEMS TO WORK HERE _ GET VARIOUS ERRORS ACCROSS ALL THREE
> TECHNIQUES
>
>
>
> appAccess2.CloseCurrentDatabase
> appAccess2.Quit
> Set appAccess2 = Nothing
>
>
> '**********************************************************************************************
> '**********************************************************************************************
> '**********************************************************************************************
>
> ' CLEAR ALL OBJECTS
>
>
> '**********************************************************************************************
> '**********************************************************************************************
> '**********************************************************************************************
>
>
>
>
>
> Set t1 = Nothing
> Set t2 = Nothing
> Set t3 = Nothing
> Set t4 = Nothing
> Set f1 = Nothing
> Set f2 = Nothing
> Set f3 = Nothing
> Set f4 = Nothing
> Set f5 = Nothing
> Set f6 = Nothing
> Set f7 = Nothing
> Set f8 = Nothing
> Set f9 = Nothing
> Set f10 = Nothing
> Set f11 = Nothing
> Set f12 = Nothing
> Set f13 = Nothing
> Set f14 = Nothing
> Set i1 = Nothing
> Set i2 = Nothing
> Set i3 = Nothing
> Set i4 = Nothing
>
> Set appAccess2 = Nothing
> Set appAccess = Nothing
> Set db = Nothing