[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/09/20(Tue) 16:30
投稿者名:ron
Eメール:
URL :
タイトル:
VB6からACCESS2000のフォームを呼び出している間。
こんにちわ。
VB6でコマンドボタンをクリックした時にアクセス2000のフォームを呼び出し起動まではできたの
ですが、
そのアクセス2000のフォームが終了(アクセス2000が終了)するまではVB6の方は次のステップへ
進みたく
ないのです。
ここでなにか、アクセスが終わるの待つ方法ってありますか?

いろいろネットで参考になりそうなものを探したのですが見つけられません
この未熟者にいい方法があれば教えてやって頂けないでしょうか?

投稿時間:2005/09/20(Tue) 17:11
投稿者名:いな
Eメール:
URL :
タイトル:
Re: VB6からACCESS2000のフォームを呼び出している間。
ここのHPのサンプルで、

 他のプログラムの終了を待つ(Shell関数で起動した)
 hhttp://www.bcap.co.jp/hanafusa/VBHLP/tap_PrgEnd.htm

というのがありますが、
いろいろネットで参考になりそうなものを探したのですが見つけられません。
と言ってるから、既読だよね。

投稿時間:2005/09/20(Tue) 18:44
投稿者名:ron
Eメール:
URL :
タイトル:
Re^2: VB6からACCESS2000のフォームを呼び出している間。
> ここのHPのサンプルで、
>
>  他のプログラムの終了を待つ(Shell関数で起動した)
>  hhttp://www.bcap.co.jp/hanafusa/VBHLP/tap_PrgEnd.htm
>
> というのがありますが、
> いろいろネットで参考になりそうなものを探したのですが見つけられません。
> と言ってるから、既読だよね。

 早速の返事をありがとうございます。
 参考に試してみましたが、上手く行きませんでした。
 
 アクセスをshell起動ではなく
   Set aces = New Access.Application
   aces.Visible = True
   aces.OpenCurrentDatabase dbname, False
   aces.DoCmd.OpenForm "*****", acViewNormal
 このような感じで起動してます。
 教えていただいた関連でも試してみましたが、うまく行きませんでした
 アクセスをshell起動できれば、教えていただいたやり方でもできるのかな?とも思いますが、それも
わから
ない次第です、めんぼくない。

 他のやり方をご存知であれば是非教えてください。

投稿時間:2005/09/20(Tue) 19:09
投稿者名:いな
Eメール:
URL :
タイトル:
Re^3: VB6からACCESS2000のフォームを呼び出している間。
>  早速の返事をありがとうございます。
>  参考に試してみましたが、上手く行きませんでした。
>  
>  アクセスをshell起動ではなく
>    Set aces = New Access.Application
>    aces.Visible = True
>    aces.OpenCurrentDatabase dbname, False
>    aces.DoCmd.OpenForm "*****", acViewNormal
>  このような感じで起動してます。
>  教えていただいた関連でも試してみましたが、うまく行きませんでした
>  アクセスをshell起動できれば、教えていただいたやり方でもできるのかな?とも思いますが、
>  それもわからない次第です、めんぼくない。
>
>  他のやり方をご存知であれば是非教えてください。

SHELL起動じゃなかったのね。こちらも早とちりでした。

投稿時間:2005/09/21(Wed) 11:55
投稿者名:ron
Eメール:
URL :
タイトル:
Re^4: VB6からACCESS2000のフォームを呼び出している間。
ありがとうございました。
一応解決しましたのでご報告までに。
☆印囲んだロジックでアクセスフォーム終了を待つ事ができました。


   Set aces = New Access.Application
   aces.Visible = True
   aces.OpenCurrentDatabase dbname, False
   aces.DoCmd.OpenForm "*****", acViewNormal

☆☆☆
   Do Until aces.SysCmd(acSysCmdGetObjectState, acForm, "*****") = 0
      DoEvents
   Loop
☆☆☆

   aces.Quit acExit
   Set aces = Nothing