アクセスの内部モジュールに移動して新しいモジュールを作成し、その中に関数を配置できます。
VB6アプリケーションから実行時にこれを行うにはどうすればよいですか?
CREATE FUNCTION .. CREATE PROCEDURE ..を試しましたが、これは実際にはAccess 2000データベースであり、おそらくそれをサポートしていないという側面もあるかもしれません。
Access 97 here でこれを行うコードしか見つかりませんでした
Sub CreateNewModule()
Dim MyMod As Module
Dim MyStr As String
DoCmd.RunCommand acCmdNewObjectModule ' Create new module.
MyStr = "Sub Test2()" & vbCrLf ' Create text for the module.
MyStr = MyStr & Space$(4) & "MsgBox " & Chr$(34) & "test2" & _
Chr$(34) & vbCrLf
MyStr = MyStr & "End Sub"
Set MyMod = Modules("Module3") ' Give module a name.
MyMod.InsertText MyStr ' Insert text into the module.
DoCmd.Close acModule, "Module3", acSaveYes ' Close and save module.
End Sub
VB6からこれを行うという点では、自動化を使用する必要があり、その後、およびのような機能DoCmd
がModules()
利用可能になるはずです。
たとえば、このような (テストされていない) ものから始める必要があります。
Dim oApp As Object
Set oApp = CreateObject("Access.Application")
oApp.OpenCurrentDatabase "C:\MyDatabase.mdb"
oApp.DoCmd.RunCommand acCmdNewObjectModule
...
... (Rest of code to automate Access here)
...
Set oApp = Nothing