VB6.0を使って簡単なプログラムを作成しているのですが、
アクセスのレポートをプログラムから使用したいため下の関数を作りました。ところが、今扱いたいDBがパスワードがかかっているため、毎回パスワードを聞かれてしまいます。どうにかパスワードをプログラムから引き渡せないでしょうか?
Public Function usrAccessRpt(strRptName As String, intMode As Integer) As Integer
On Local Error GoTo usrAccessRpt_Err

Dim AccessAp As New Access.Application

'データベースファイルのOPEN
AccessAp.OpenCurrentDatabase App.Path & "\db1.mdb", False

'レポート出力
If intMode = acViewNormal Then
AccessAp.DoCmd.OpenReport strRptName, acViewNormal
AccessAp.CloseCurrentDatabase
Else
AccessAp.DoCmd.Maximize
AccessAp.DoCmd.OpenReport strRptName, acViewPreview
AccessAp.Visible = True
End If

Exit Function

usrAccessRpt_Err:
usrAccessRpt = 1
End Function

このQ&Aに関連する最新のQ&A

A 回答 (1件)

以下の所に情報があるようです



保護された Access データベースを開く場合に
GetObject 関数を使用する例は、Office 2000 Developer CD-ROM の
ODETools\V9\Samples\OPG\Samples\CH04 サブフォルダに含まれる
Automating&IDE.doc の modSetObjVariable モジュールにあります。

http://www.microsoft.com/JAPAN/developer/library …

この回答への補足

回答ありがとうございます。
Office2000がプロフェッショナル版のため、サンプルモジュールを見ることは出来ませんでしたが、ここでの表記内容に関してはりかいできましたm(__)m
ところが、今回のセキュリティーで扱っているパスワードはデータベースパスワードなのですが、起動時オプションで指定できるパスワードがどうやらアカウントパスワードのみのようでした(><;)
ご回答いただいたのにまことに申し訳ありませんが、データベースパスワードという条件で何かよい解決さくはございませんでしょうか・・・(T▽T)

補足日時:2001/09/20 23:03
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QWindows7 パスワードリセット

今まで使っていた管理者アカウントのPWを忘れて
guestアカウントしかない状態です

なんとかパスワードを解除しようと

[Offline NT Password & Registry Editor]

このソフトを試したのですが

ERROR : Failed to copy registry file sam

とでてstep3に進むことができません。

どうすれば進むことができるでしょうか・・・


よろしくお願いします。

Aベストアンサー

linuxコマンド chntpw 使用の下記サイトを試してみてください。
Windows/System32/config フォルダの場所を正しく指定すればリセットできます。

chntpw
http://ftlabo.sakura.ne.jp/win/chntpw/chntpw.html

QVB6変数の宣言dim j,k,p,m,n as Integerは良くない?

お世話になります。

VB暦1年です。

汎用の変数宣言でタイトルのように
dim j,k,p,m,n as Integer
dim ssa,ssb as String

など、カンマ区切りで変数宣言を使っていたのですが
最近、知人にasの手前の変数は型どおり宣言されるが
その手前の変数はVariant型で宣言されてしまうと指摘されました。

指摘されるまで気にはしていませんでしたが
ウォッチで確認すると変数に代入されるまでは
型がVariant/Emptyとなってます。

以後、気をつければいいのですが
過去にコーディングしたプログラムにも多少、使用していて客先に納品してしまっているものもあります。
後々、問題になるのかな?

Aベストアンサー

おっしゃる通り、カンマで区切る場合は、
Dim j As Integer, k As Integer, p As Integer
という風にすべてAsで型を明示しないと、
Variant型になってしまいます。
つまり、
Dim j
Dim k
Dim p As Integer
とわけて書いた場合と同じです。
(VB.NETは、
Dim j, k, p As Integer
で全部Integerになるようなので、ややこしいですね)

すでにご存知とも思いますが、一般的にVariant型を多用しているコードは、宣言を見ても、どういう種類の値を使うかわかりづらいですし、比較対象の型を誤るというようなバグの原因になりやすいので、型を明示できるような状況で敢えてVariant型を使うべきではないです。

しかし、すでに納品してしまったコードについては、問題はメモリを余計に使ってしまうことくらいではないでしょうか?
他の人が気づかなかったことから考えるに、多分狭いスコープで使っていますよね? 比較対象や代入するべき型を誤るというようなロジックの誤りがない限り、少なくとも動作上の問題は発生しないと思います。ただ、直せる機会があるのであれば、直した方がいいとは思いますが。

おっしゃる通り、カンマで区切る場合は、
Dim j As Integer, k As Integer, p As Integer
という風にすべてAsで型を明示しないと、
Variant型になってしまいます。
つまり、
Dim j
Dim k
Dim p As Integer
とわけて書いた場合と同じです。
(VB.NETは、
Dim j, k, p As Integer
で全部Integerになるようなので、ややこしいですね)

すでにご存知とも思いますが、一般的にVariant型を多用しているコードは、宣言を見ても、どういう種類の値を使うかわかりづらいですし、比較対象の型を誤るというよう...続きを読む

Q忘れたwindows 7 パスワードを解除したい

何度も試しても、windows 7にログインできません。パスワードをどうしても思い出せません。困ります。忘れたwindows 7 パスワードを解除して、入力しないで起動するようにしたいのですが、どうすればいいのかがぜんぜん分かりません。誰か教えてくれませんか。よろしくお願いいたします。

Aベストアンサー

windows 7のコントロールパネルのユーザーアカウントから直接にwindows 7 パスワードのログオンを閉じることが出来ます。しかし、現在利用されているパスワードが分からない場合、設定できません。まず、忘れたwindows 7 パスワードを解除しなければなりません。
システムのリカバリーは一つの対策です。もし、システムをリカバリーすれば、解除できますが、一般的には薦められていません。Cに保存されているすべてのデータは削除されます。せめて、バックアップした後、以上の操作を行ってください。しかし、ログインできない場合、バックアップも実行できません。
今、ますます多くの方はパスワードリセットツールで解除操作を実行します。また、PCの修理店に問い合わせて、業者に依頼する方も多いようです。

参考URL:http://jp.magic-rescue-cd.com/windows7-password.html

QDocmd.Openreportで範囲印刷をさせたい。access2000

いつも勉強させていただいており誠に感謝しております。

access2000を使用して簡単なプリントができるよう
に作っていたのですが、印刷の範囲選択のところで
悩んでおります。

テーブルはこんな感じです。

ID  会員名  会員住所
001 ああああ  テスト住所
002   いいいい 試験住所
003   うううう  実験住所
004   ええええ  テストアドレス

※以下1000会員ほど続きます。

このテーブルを使って、フォームを作成し
フォーム内で印刷させたい開始ID、終了IDをテキストボックスに入力させて、範囲印刷をさせたいのです。

選択させるIDを入力させるテキストボックスを
kaishi_text、終了させるテキストボックスを
syuuryou_textとする場合
同フォーム内に、ボタンを作成しクリック時の
イベントを作成したいのですがいい方法がわかりません。

どなたかお知恵をお貸し願えますでしょうか?
よろしくお願いいたします。

 

Aベストアンサー

Private Sub コマンド0_Click()

Dim strFilter As String

strFilter = "ID>='" & Me.kaishi_text.Value & "' And ID<='" & Me.syuuryou_text.Value & "'"

DoCmd.OpenReport "テーブル名", acViewPreview, , strFilter

End Sub

IDフィールドが文字列型の場合は上記の方法でよいが、
もし数値型の場合は下記になる

strFilter = "ID>='" & Me.kaishi_text.Value & "' And ID<='" & Me.syuuryou_text.Value & "'"

strFilter = "ID>=" & Me.kaishi_text.Value & " And ID<=" & Me.syuuryou_text.Value

Qwindows7パスワード解除

何度も試しても、だめです。このwindows7パスワードを忘れてしまうはずがないのに、どうしても思い出せないのです。皆さんもこんな状況に遭遇したことがありますか。どうすればよいのでしょうか。システムを再インストールした後、このwindows7パスワード解除できると聞きますが、そうしたら、すべてのアプリケーションも再インストールする必要があるでしょう。面倒だと思います。ほかのもっと簡単なパスワード解除対策はありませんか。どなたか教えてくれませんか。よろしくお願いします。

Aベストアンサー

後ろの疑問符で表示されるヒントを見て、試したことがありますか?
確かに、システムの再インストールを実行したら、ほぼすべてのインストールされていたアプリも再インストールする必要があります。また、再インストールしたら、Cをフォーマットする必要もありますよ。中に保存されているデータも消えてしまいます。この対処法はベストチョイスではないと思います。
もし、修理店も依頼したくない場合、自分でwindows7パスワード解除に対応するツールを使って見てもよろしいです。会社の同僚もこんな問題に遭遇したことがあります。ツールで問題を解決したようです。使用したツールはMagic PassNowというものです。公式サイトから、チュートリアルもあります。このパスワード解除機能は無料で利用できるようです。よろしければ、試してみてください。下記のページは関連サイトです。参考してみてください。

参考URL:http://jp.magic-rescue-cd.com/recover-windows7-password.html

Qマクロで100マス計算! Dim i,j As Integer For i = 2 ToRang

マクロで100マス計算!

Dim i,j As Integer

For i = 2 ToRange(”A1”).End(xlDown).Row
For j=2 To Range(”B1”).End(xlToRight).Column

Cells(i,j).Value = Cells(i,1).Value * Cells(1,j).Value
Next j
Next i
Endsub

上記のように記述しましたが、
iの最終行が2となってしまっていますがなぜこのコードが間違っているのか分からないです。。どなたか教えていただけたら嬉しいです!

Aベストアンサー

確認してはいませんが…


>改行、スペースは実際にはきちんととっていますので気にしないでください
とのことなので、違っているのかもしれませんが、

>For i = 2 ToRange(”A1”).End(xlDown).Row
         ↓
 For i = 2 To Range(”A1”).End(xlDown).Row
で、うまくいきませんか?
100マス(10×10)と最初から決まっているので、範囲は 2 To 11 でも良いように思いますが…

改行、スペースなどが正しくなっているなら、Range(”A1”).End(xlDown).Rowの値が2以下になっている可能性が考えられます。(ということは、A1が空白セル、または、A3が空白セルなどなど・・)
A1が空白セルの場合は、
 For i = 2 To Range(”A2”).End(xlDown).Row
とするか、
 For i = 2 To 11
などとすることで、動作するのではないかと推測します。

Qパスワードの入力なしにWindows 7を起動する

Windows 7の起動中にユーザー名が表示されその下の窓にパスワードを入力するように求められます。
毎回のことで面倒くさいのでこのパスワードを入力しないで起動するようにしたいのですが、どうしたらいいのでしょうか。

Aベストアンサー

こちらを参考に・・

http://www.pasoble.jp/windows/7/08828.html

QDim x As Integer = 0

いつもお世話になっております。

只今、本に記載してあるソースコードを手入力しています。
標記のように入力したら、『コンパイルエラー 修正候補:ステートメントの最後』というエラーが出ました。

(1)このエラーは無視してもよいのでしょうか?
(2)そもそも、変数の宣言文の後ろに=0をつけている意味がわかりません。当方VB初心者です。

よろしくお願いいたします。

Aベストアンサー

この点は(変数の宣言と初期化は)言語による、と考えるべきです。
この質問は何の質問か。
VB系統らしいことは判るが
VB以外のBASIC
VB6
VBA
VB.NET系統
のどれか質問に書くべき。質問者は経験が無くて、視野がそこまで行かないのかも知れないが。
ーーー
VBAでは(多分VBでも同じ。テスト環境がないので)
Sub test01()
Dim x As Integer
x = 0
MsgBox x
End Sub
はOK
ーー
Sub test01()
Dim x As Integer =0
MsgBox x
はDim x As Integer =0
と入力した段階でエラー。
http://www.bunsugi.ed.jp/vba4graduate/vba_hensuusyokika.htm
ーーー
定数のConstであればこういう書き方はOK
Sub test01()
Const x As Integer = 0
MsgBox x
End Sub
ーーー
VB.NETでは、OK
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim x As Integer = 10
MsgBox(x)
End Sub
ーー
Javaでは可能であるようです
http://msugai.fc2web.com/java/var2.html
ーーーーー
>ろに=0をつけている意味がわかりません
宣言と同時に値を与える=初期化する

この点は(変数の宣言と初期化は)言語による、と考えるべきです。
この質問は何の質問か。
VB系統らしいことは判るが
VB以外のBASIC
VB6
VBA
VB.NET系統
のどれか質問に書くべき。質問者は経験が無くて、視野がそこまで行かないのかも知れないが。
ーーー
VBAでは(多分VBでも同じ。テスト環境がないので)
Sub test01()
Dim x As Integer
x = 0
MsgBox x
End Sub
はOK
ーー
Sub test01()
Dim x As Integer =0
MsgBox x
はDim x As Integer =0
と入力した段階でエラー。
http://www.bunsug...続きを読む

QWindows 7のパスワードをわすれてしまった!

Windows 7の最初のきめたパスワード(決めたパスワードをメモしてたので。)
で、パスワード変更をしようとしても、パスワードかユーザー名が間違ってるとでます。
ユーザー名はあってるとおもうので、パスワードがちがうとおもわれます。
最初にきめたのがかわることはありますか?
また、こういうときはどうすればいいのですか!?
おしえてください!
おねがいします!

Aベストアンサー

できることならパスワードを設定しないのが一番ですがね。

QExcel VBAの Functionをワークシートから使用できないようにしたいのですが...

Excel VBAについて質問です。

functionプロシージャを使っている時,一般のマクロからは呼び出せるが,ワークシート関数として使いたくないものがあります。

すなわち,「関数の挿入」ダイアログの「ユーザー定義」のところに不必要な(ワークシート関数として使う意図のないもの)を表示させたくないのですが,そのようなことは可能でしょうか。

今,できるだけsubプロシージャの形にするようにしたりしているのですが,うまい方法があればFunctionも使いたいと思っています。

良い方法があれば教えてください。

Aベストアンサー

モジュールの先頭に、
Option Private Module
と宣言すれば、そのモジュールのプロシージャは、関数一覧やマクロ一覧に表示されなくなります。

単に表示されないだけですから、名前を指定すれば関数としてもマクロとしても呼び出す事が可能です。


人気Q&Aランキング