Příklad 2 - Založení nové firmy v adresáři firem

' Script spouštět z konzole cscript scriptname.vbs.

' Vytvoření instance objektu, pomocí kterého lze psát znaky do konzole.
Set mStdOut = WScript.StdOut

' Definice proměnných. Toto není nutné ve vbsciptu dělat. Ohledně práce s proměnnými platí následující důležité pravidlo.
' Existující proměnné se nesmí používat pro jiný datový typ, než jakým byla proměnná inicializována.

Dim mApplication 
Dim FirmObject 
Dim FirmData 
Dim AddressData 
Dim BankAccountsCollection 
Dim BankAccountData 
Dim DealerCategoryQuery 
Dim DealerCategoryRowset 
Dim CodeConstraint 

' Přihlášení
Set mApplication = CreateObject("AbraOLE.Application")
mApplication.LogIn "Supervisor", ""

' Vyrobení nové firmy
Set FirmObject = mApplication.CreateObject("@Firm")
Set FirmData = mApplication.CreateValues("@Firm")

' Naplnění názvu firmy
FirmObject.PrefillValues FirmData
FirmData.ValueByName("Name") = "Jméno firmy"
' Naplnění adresy
Set AddressData = FirmData.ValueByName("ResidenceAddress_ID")
AddressData.ValueByName("Street") = "Ulice"
' Naplnění bankovních účtů
Set BankAccountData = mApplication.CreateValues("@FirmBankAccount")
BankAccountData.ValueByName("BankAccount") = "12345"
Set BankAccountsCollection = FirmData.ValueByName("Rows")
BankAccountsCollection.Add BankAccountData

' Příklad použití DynSQL
Set DealerCategoryQuery = mApplication.CreateCommand("DealerCategory")

' Získání podmínky
Set CodeConstraint = DealerCategoryQuery.ConstraintByID("Code")

' Naplnění podmínky
CodeConstraint.UsedKind = 1
CodeConstraint.Value = "'" & "1" & "'"

' Získání hlavního rowsetu MAIN
Set DealerCategoryRowset = DealerCategoryQuery.RowsetByName("Main")
' Zajímá nás sloupec ID
DealerCategoryRowset.UsedFields = "ID" 
' Více sloupců by se např. zadalo takto:
' DealerCategoryRowset.UsedFields = "ID" & vbCRLF & "Code"

' Provedení DynSQL, od teďka můžeme z použitých rowsetů číst data.
DealerCategoryQuery.Execute
If Not DealerCategoryRowset.EOF Then
  FirmData.ValueByName("DealerCategory_ID") = DealerCategoryRowset.Data(0)
  ' Pokud známe jméno sloupce v rowsetu, můžeme použít následující konstrukci...  
  ' FirmData.ValueByName("DealerCategory_ID") = _
  ' DealerCategoryRowset.Data.ValueByName("ID")
End If

' Uložení firmy
FirmObject.CreateNewFromValues FirmData