Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


485 / 500 ページ ←次へ | 前へ→

【3449】Re:クエリを開けなくする手段
回答  YU-TANG WEB  - 04/9/8(水) 3:19 -

引用なし
パスワード
   こんばんは、YU-TANG です。

> クエリはこのように非表示にすることは出来ないのでしょうか?

View として作成すればデータベース ウィンドウに表示されません。
View の作成方法については Jet SQL リファレンスの CREATE VIEW
ステートメントか、あるいは ADOX リファレンスのビュー作成の例
を参照するとよいでしょう。

なお View は常に非表示であって、データベース ウィンドウに表示
させる方法は一切ありませんので、念のため。
・ツリー全体表示

【3448】Re:Accessをコマンドプロンプトでコントロ...
回答  YU-TANG WEB  - 04/9/8(水) 3:19 -

引用なし
パスワード
   こんばんは、YU-TANG です。

> もし,コマンド一覧のようなものがあるのでしたら,
> そのサイトや書籍を教えていただけたらと思っています。

Access のヘルプで「Startup コマンド ライン オプション」トピックに
一覧が載っています。

Access 97 までなら、MSKB でも閲覧できます。

ACC: How to Use Command-Line Switches in Microsoft Access
http://support.microsoft.com/default.aspx?scid=kb;en-us;105128

私は特に検索していませんが、Access 2000 以降の KB も有るのかも
しれません。
・ツリー全体表示

【3447】Re:自身を参照?
発言  こもれび  - 04/9/8(水) 0:13 -

引用なし
パスワード
   こもれびです

>部品コード  装置コード1    装置コード2   装置コード3
>  A       1         2       3
>  B       4

これですと、「装置コード1」がAにもBにも関係するように見えてしまう
のですが…? (元の表にある「装置コード4」が消えていますし…)

最終的な表現は
   装置コード1 装置コード2 装置コード3 装置コード4
    A      A      A      B
もしくは
   装置コード1 装置コード2 装置コード3 装置コード4
    A      A      A
   -----------------------------------------------------
                        B

というイメージではないでしょうか?
・ツリー全体表示

【3446】Re:クエリを開けなくする手段
回答  こもれび  - 04/9/7(火) 23:52 -

引用なし
パスワード
   こもれびです

お使いの(制作された)Accessのアプリケーションはどのような環境で
動かされているのでしょうか?
例えば、ファイルサーバーがあるのであればアプリケーションを起動し
てから別のmdbと接続するなどしてデーターを引っ張ってくるとかすれば
アプリケーションでデータが見られることはなくなります。
但し、これを行った場合ネットワークの負荷が増えることなどAccess
アプリケーション以外のことについて考えなければならないことが
増えます。
(オラクルやSQLサーバーを立てるということであれば、また話が
違ってきますけど…)

>クエリはこのように非表示にすることは出来ないのでしょうか?

私の場合、コード中にSQLをガシガシ書いています。
クエリオブジェクトは殆ど使っていません。
・ツリー全体表示

【3445】自身を参照?
質問  津波警報  - 04/9/7(火) 23:05 -

引用なし
パスワード
    自分ではちょっと思い浮かびません。
知恵を貸してください。
 
 各々の装置に使われている部品を整理しております。

装置コード  部品コード
  1      A
  2      A
  3      A
  4      B

 というレコードを

部品コード  装置コード1    装置コード2   装置コード3
  A       1         2       3
  B       4

というクエリとして出力したいのですが…
 使用してるのはアクセス2000です。
宜しくお願い致します。
・ツリー全体表示

【3444】クエリを開けなくする手段
質問  場秋  - 04/9/7(火) 20:13 -

引用なし
パスワード
   Access2000 を使ってます。

テーブルならば、TableDef.Attributes = dbHiddenObject
とすれば、メインのウィンドウのテーブル一覧に表示されなくなります。

クエリはこのように非表示にすることは出来ないのでしょうか?

プロパティで、隠しオブジェクトという設定はできますが、これだと
設定で表示できるようになってしまいます。

要するに、テーブルのデータの中身を見られないようにすればよいのですが。
何かお知恵をいただけないでしょうか。
・ツリー全体表示

【3443】Re:レポートでグループ毎にページを表示
質問  低血圧  - 04/9/7(火) 19:06 -

引用なし
パスワード
   クラスオブジェクトに記述しましたら動くようになりました。
が、なぜか全て1/1となってしまいます。
実際には1/5、2/5、3/5、4/5、5/5のようになるはずです。

テーブルを見るとページ番号が全て1でした。
レポートの作り方が悪いのでしょうか。

-----------ページヘッダー---------
-----------グループヘッダー-------
[グループ]
-----------詳細------------------
[お客様名][数量]など
-----------ぺージフッター---------
[=GetGrpPages()][=Page]

グループヘッダーでグループ化をしています。
・ツリー全体表示

【3442】Re:リストボックスの値取得
お礼  saikoro  - 04/9/7(火) 15:57 -

引用なし
パスワード
   こもれび様 返信ありがとうございます。

あ、やはり最後から格納していってるんですね。
と、いうことは、
抜けている一行とやらを追加して、
qry.EOF→qry.BOF、
qry.MoveNext→qry.MovePrevious
として格納できました。以下にそのソースを・・
ソース何かへんですかね?^^;
お二方ありがとうございました!m(_ _)m


Dim TabemonoArray() As String
Dim RC As Integer
Dim K As Integer

Dim db As DAO.Database
Dim qry As DAO.Recordset

'DBセット, dbOpenDynaset
Set db = CurrentDb
Set qry = db.OpenRecordset("qryメモリ表示", dbOpenDynaset)

If qry.EOF = True Then
   MsgBox ("メモリが表示されていません")
   Exit Sub
End If

qry.MoveLast

RC = qry.RecordCount - 1
K = RC
ReDim TabemonoArray(2, RC)

Do While qry.BOF = False

   TabemonoArray(0, RC - K) = qry.Fields(0) '番号
     Debug.Print TabemonoArray(0, RC - K) 'デバッグ用
   TabemonoArray(1, RC - K) = qry.Fields(1) '種類
     Debug.Print TabemonoArray(1, RC - K) 'デバッグ用
   TabemonoArray(2, RC - K) = qry.Fields(2) '名称
     Debug.Print TabemonoArray(2, RC - K) 'デバッグ用
  
   K = K - 1
qry.MovePrevious

Loop

db.Close

追伸で、こもれび様以前にファイルが大きくなっていくのですが・・という
題名でスレ立てたとき、返信に気づかなくて申し訳ありません。気づいた時には
もう流れまくっていたので。。。この場で謝罪を。確かにおっしゃってる通りです。
以降気をつけます。ありがとうございましたm(_ _)m・・・な、長くなった^^;
・ツリー全体表示

【3441】Re:リストボックスの値取得
回答  こもれび  - 04/9/7(火) 15:04 -

引用なし
パスワード
   こもれびです

ごめんなさい 1行漏れていました

  qry.MoveLast      ' <-- 漏れた行
  RC = qry.RecordCount-1

お手数おかけして申し訳ありません <m(__)m>
・ツリー全体表示

【3440】Re:リストボックスの値取得
質問  saikoro  - 04/9/7(火) 13:04 -

引用なし
パスワード
   Gin_II様、こもれび様 返信ありがとうございます。
お二方とも以前にもお世話になり、その節はありがとうございます。

○Gin_II様

>配列に、1データずつ格納していってもいいですが、元がレコードセットなら、
>GetRows メソッド
>を使ってもいいかな。

なるほど!Recordset オブジェクトの複数のレコードを配列に取り込んでくれて、
戻り値にバリアント型 (Variant) の二次元配列の値を返してくれるんですね。
これを、使うと実現できそうです。勉強しておきます。

○こもれび様

変数に代入の件で、指定して下さったソースを差し込んだ所、
インデックスが有効範囲にありません、エラーが出ました;;

それで、列が3、行が3のクエリで動かしたですが、
この部分RC = qry.RecordCount-1が”0”になっています;;
qry.RecordCountが”1”なのです;;
なので、行が1のデータ(最初のデータですが)は、きちんと配列に
入っているようなのですが、行が2に移ったところで、
インデックスが有効範囲にありません、というエラーがでてきます。

なにか、違うところでエラーがでてるっぽいですが、対処方法など
ありましたら助言おねがいします。
・ツリー全体表示

【3439】Re:レポートでグループ毎にページを表示
回答  Gin_II  - 04/9/7(火) 11:35 -

引用なし
パスワード
   >コンパイルエラー
>Meキーワードの使用方法が不正です

標準モジュールでは、Me は使えません。

Forms![フォーム名]![コントロール名]
のように、省略せずに記述してください。
・ツリー全体表示

【3438】Accessをコマンドプロンプトでコントロー...
質問  シャー  - 04/9/7(火) 11:18 -

引用なし
パスワード
   Accessをコマンドプロンプト(*.bat)で操作したいのですが,
コマンド情報が少ないので,知っている方がいましたら,
教えてください。

AccessをVB,VC,Javeなどで効率的に起動・操作しようとしています。
Accessの起動,最適化・修復などのコマンドは
ネット上で入手することができました。
Accessの機能のどこまでが,コマンドプロンプトで可能なのか知り,
できることとできないことに分けれたらと思っています。
できないことに関しては,
VB/VBA,VCやJavaでその部分を補おうと思っています。

もし,コマンド一覧のようなものがあるのでしたら,
そのサイトや書籍を教えていただけたらと思っています。

よろしくおねがいします。
・ツリー全体表示

【3437】Re:レポートを動的に作成する方法
お礼  たけし  - 04/9/7(火) 10:58 -

引用なし
パスワード
   ありがとうございます。
データの吐き出しも考えましたが,
データ量が多い場合,吐き出すのに時間がかかるのでは
と思い,他の機能として,Excelインポートをつけていますが,
時間がかかりすぎてしまうという傾向があります。
今回のレポートは,データを一目瞭然にするためのものでしたので,
時間短縮ができそうなPGをしようと思っています。

御回答ありがとうございました。
・ツリー全体表示

【3436】Re:レポートでグループ毎にページを表示
発言  低血圧  - 04/9/7(火) 10:55 -

引用なし
パスワード
   ありがとうございます。
先に進みました。が、今度は

コンパイルエラー
Meキーワードの使用方法が不正です

と出ています。以下にその部分を載せます。

Public Function GetGrpPages()
   GrpPages.Seek "=", Me![グループ]
    If Not GrpPages.NoMatch Then
      GetGrpPages = Me.Page & "/" & GrpPages![ページ番号]
    End If
End Function

前回も書きましたがコピー&ペーストですし
多分記述が原因のエラーではないと思います。

レポートのページフッターに テキストボックスで =GetGrpPages()
と作っています。 この部分が#Errorと出ています。

テーブル名  グループ別ページ
フィールド名 グループ
       ページ番号
として作成しました。テーブルの中をみるとグループはきれいに全て
はいっています。グループ番号は全て1が入っています。

根本的に間違えているのでしょうか?
・ツリー全体表示

【3435】Re:レポートを動的に作成する方法
お礼  たけし  - 04/9/7(火) 10:54 -

引用なし
パスワード
   ありがとうございます。
調べてみると,CreateReport,CreateReportControl
メソッドがありました。
こちらも試してみたいと思います。
本当にありがとうござます。
・ツリー全体表示

【3434】Re:リストボックスの値取得
回答  こもれび  - 04/9/7(火) 10:44 -

引用なし
パスワード
   こもれびです

その2
変数に代入

○ 追加
  Dim TabemonoArray() as String
  Dim RC as Integer
  Dim K as Integer

> Set qry = db.OpenRecordset("qryTabemono", dbOpenDynaset)
  
> If qry.EOF = True Then
>  MsgBox ("データがありません")
>  Exit Sub
> End If

の後に
  RC = qry.RecordCount-1
  K = RC
  Redim TabemonoArray(2,RC)

○ 変更

Do While qry.EOF = False
    
  TabemonoArray(0,RC-K) = qry.Fields(0) '番号
  TabemonoArray(1,RC-K) = qry.Fields(1) '種類
  TabemonoArray(2,RC-K) = qry.Fields(2) '名称
  K = K - 1
  qry.MoveNext
    
Loop

これで何とかなるかな〜。
・ツリー全体表示

【3433】Re:リストボックスの値取得
回答  Gin_II  - 04/9/7(火) 10:14 -

引用なし
パスワード
   >最終的には、テーブルに追加させようと思っているのですが、
>一時的に、変数で格納しておく場合どのようにすればよろしいでしょうか?
>
>自分がやった奴だと、最後の一行しかとれないのですが。
>数が定かでないので、どのように格納しておけば、よろしいですか?

配列に、1データずつ格納していってもいいですが、元がレコードセットなら、
GetRows メソッド
を使ってもいいかな。

ヘルプで、上記メソッドを確認してください。
・ツリー全体表示

【3432】Re:リストボックスの値取得
回答  こもれび  - 04/9/7(火) 10:08 -

引用なし
パスワード
   こもれびです こんにちは

テーブルに格納する方法を記述します。( テーブル名:T_TABEMONO )

○ 追加
  Dim tb as Recordset

  Set tb = db.OpenRecordset("T_TABEMONO",dbOpenDynaset,dbAppendOnly)

○ 変更

Do While qry.EOF = False
 tb.AddNew
  tb![番号] = qry.Fields(0) '番号
  tb![種類] = qry.Fields(1) '種類
  tb![名称] = qry.Fields(2) '名称
 tb.Update
 qry.MoveNext
Loop
tb.Close
・ツリー全体表示

【3431】Re:リストボックスの値取得
発言  saikoro  - 04/9/7(火) 9:51 -

引用なし
パスワード
   Gin_II 様 返信ありがとうございます。

>>全データを格納しておきたいのですが、
>>どのようにすればよろしいですか?
>
>どこに格納しておきたいのでしょうか?
>追加クエリなり、テーブル作成クエリなりを作成して実行すればいいと思いますが。。

格納場所を指定していませんでした。。申し訳ありません。

最終的には、テーブルに追加させようと思っているのですが、
一時的に、変数で格納しておく場合どのようにすればよろしいでしょうか?

自分がやった奴だと、最後の一行しかとれないのですが。
数が定かでないので、どのように格納しておけば、よろしいですか?
・ツリー全体表示

【3430】Re:リストボックスの値取得
回答  Gin_II  - 04/9/7(火) 9:23 -

引用なし
パスワード
   >全データを格納しておきたいのですが、
>どのようにすればよろしいですか?

どこに格納しておきたいのでしょうか?
追加クエリなり、テーブル作成クエリなりを作成して実行すればいいと思いますが。。
・ツリー全体表示

485 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1084780
(SS)C-BOARD v3.8 is Free