テキストに従い、アクセスのデータベースからのクエリとかは出来たのですが、結局どういったものとして使うものかよくわかりません。

他のブック、アプリケーションからデータを抽出するものという認識でいいのでしょうか。

また、ピボットテーブルはそこにあるデータの抽出と集計という認識でいいのでしょうか。

マウス検定は思ったより大変です。
受かりたいという気持ちと、無理だぁ、って気持ちが入り混じって集中できなくなってきました。
あと一息がんばるぞ!!

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

A 回答 (1件)

クエリーは、Access内でのデータの抽出、挿入、追加等が可能です。


ピポットテーブルは、AccessのデータをExcel上でダイレクトにデータ編集するといったことに使用するテーブルです。
うる覚えですが、そんな感じだと思いました。
    • good
    • 0

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

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

Qピボットテーブル「データの個数」を「データ詳細」に

宜しくお願いします。
各事業所毎のユーザをピボットテーブルで集計しているのですが、
データの個数/ユーザ名|日付▼
事業所名▼|2007/3/28
東京|1
東京合計|1
大阪|1
大阪合計|1
この「ユーザ数」(1、2・・という数字)を、以下のように「ユーザ名」で表したいのです。
データの個数/ユーザ名|日付▼
事業所名▼|2007/3/28
東京|A子
東京合計|1
大阪|B夫
大阪合計|1
ユーザ名は、個数をダブルクリックすると詳細として別シートに
出て来ます。実際はVBAで処理させるので、詳細を一旦別シートに
落として後から表を整形する事も考えたのですが、もっとスマートな
方法があれば、ご教示下さい。
※個数→詳細に変更することにより、行数が増えるのは問題ありません。
 |はセルの区切りです。

Aベストアンサー

元の表がどのようになっているのか分かりませんが、
ピボットテーブルの「行のフィールド」に事業所名、「データアイテム」にユーザー名を配置しているようですね。

行のフィールドにもユーザー名を配置すれば良いと思います。
もちろんユーザー名はデータアイテムにも配置します。
行のフィールドとデータアイテムの両方にユーザー名を配置するということです。

ユーザー名合計が不要なら、右クリックで「表示しない」を選びます。

Qクエリをピボットテーブルで開きたい

フォームのコマンドボタンをクリックして「作成者別」というクエリを開いているのですが
ピボットテーブルで開きたいのですがデータシートで開かれてしまいます。
クエリのデザインのプロパティ→規定のビューはピボットテーブルにしてあり、クエリをダブルクリックして開くとピボットテーブルで開かれるけど
フォームのコマンドボタンからはデータシートです。

vbaコードは
DoCmd.OpenQuery ("作成者別")
です。

以上よろしくお願いします。

Aベストアンサー

多分、クエリの見え方(View)の初期値がデータシートで、その値を上書きすることで見え方を変えているのだと思います。

デザインのプロパティを変更することで上書き情報も登録されるのでしょうが、あくまで、VBAで呼び出しているのは初期値の状態のクエリです。

すこし乱暴な考え方かも知れませんが、クエリ本体と変更値は別物と解釈してよいのではないでしょうか。

Qデータがないものを抽出するには?

こんにちは。windows NTでAccess2000を使っています。
2つのテーブルを用意して(AとBとします)
1つの共通のフィールド(F・数値型)を持つものとします。
AのテーブルのFには「1」という値があってBのテーブルには「1」がないときに
表示させるクエリを作りたいのですがうまく出来ません。
よろしくお願いします。

Aベストアンサー

不一致クエリで過去問を検索しました。
(自分の回答もありました。)

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=321467

Qメインのデータと比較してないものを抽出(エクセル)

電話番号データの比較を行っています。
現在は手作業なので、エクセルで一括でできないかと
思い、質問させていただきます。

メインデータ(A)と
比較データ(B)があります。

これらを照らし合わせて
メインデータ(A)に存在して、比較データ(B)に
存在しない数字を抜き出す、か、

もしくは隣接するセルに存在しないなら「1」…
といった判定をするにはどのようにすれば
よいでしょうか?

メインデータには比較データの数字が必ず存在。
比較データに存在してメインデータに存在することはない。

お知恵をお貸しください

Aベストアンサー

思われていることと違っていましたらすみませんが、参考までに次のコードをマクロに貼り付けて実行してみてください。

例はSheet1のA列とSheet1のB列を比較してB列のデータがA列に無かったら隣接するセル(C列)に1を表示させています。

元を壊してはいけないので、Bookをコピーして試してみてください。

メニューバーの「ツール」→「マクロ」→「マクロ」をクリック
 ↓
マクロのダイアログが表示されたらマクロ名に自由に名前を入力してください。(例:比較)
 ↓
名前を入力しましたら、「作成」をクリック
 ↓
Microsoft Visual Basicの画面が開きますのでSub 比較()の下に次のコードをコピーして貼り付けてください。

Dim A列の最大値 As Long
Dim B列の最大値 As Long
Dim A列のカウント As Long
Dim B列のカウント As Long

Sheets("sheet1").Range("C1:C65536").ClearContents
Sheets("sheet1").Range("A65536").End(xlUp).Select
A列の最大値 = ActiveCell.Row
Sheets("sheet1").Range("B65536").End(xlUp).Select
B列の最大値 = ActiveCell.Row

A列のカウント = 1
B列のカウント = 1
Do
A列のカウント = 1
Sheets("sheet1").Cells(B列のカウント, 3) = 1
Do
If Sheets("sheet1").Cells(A列のカウント, 1) = Sheets("sheet1").Cells(B列のカウント, 2) Then
Sheets("sheet1").Cells(B列のカウント, 3) = ""
End If
A列のカウント = A列のカウント + 1
Loop Until A列のカウント > A列の最大値
B列のカウント = B列のカウント + 1
Loop Until B列のカウント > B列の最大値

****コピー貼り付けはここまで ****

Microsoft Visual Basicの画面を×で閉じます
 ↓
Excel画面のメニューバーの「ツール」→「マクロ」→「マクロ」をクリック
 ↓
先ほど名前を付けたマクロを選択して「実行」をクリック

思われていることと違っていましたらすみませんが、参考までに次のコードをマクロに貼り付けて実行してみてください。

例はSheet1のA列とSheet1のB列を比較してB列のデータがA列に無かったら隣接するセル(C列)に1を表示させています。

元を壊してはいけないので、Bookをコピーして試してみてください。

メニューバーの「ツール」→「マクロ」→「マクロ」をクリック
 ↓
マクロのダイアログが表示されたらマクロ名に自由に名前を入力してください。(例:比較)
 ↓
名前を入力しましたら...続きを読む

Q抽出条件が複数ある場合で,抽出元のデータに未入力がある場合

Accessを利用して住所録のデータベースを作成しています。

検索用フォームのレコードソースにクエリを指定して,フォーム上にテキストボックスを2つ配置し,コマンドボタンをクリックして抽出結果をフォームに表示させます。一つめのテキストボックスには氏名,二つ目のテキストボックスには,勤務先の入力をします。以下の条件での検索結果をフォーム上に表示させたいのですが,(3)の場合に,勤務先がない(未入力の)人のデータも同時に抽出されてしまいます。

(1)氏名のみの条件で該当する人
(2)氏名及び勤務先の条件で該当する人
(3)勤務先のみの条件で該当する人
(4)条件を入力しない場合

<住所録>
ID___氏名_________フリガナ___________勤務先
1____鈴木 健一__スズキ ケンイチ__新日本商事
2____中村 主水__ナカムラ モンド___新日本商事
3____山田 太郎__ヤマダ タロウ_____


クエリには
WHERE ((([tbl THE CARD].氏名) Like "*" & [Forms]![frm_検索用]![氏名] & "*") AND (([tbl THE CARD].勤務先) Like [Forms]![frm_検索用]![勤務先] & "*")) OR ((([tbl THE CARD].氏名) Like "*" & [Forms]![frm_検索用]![氏名] & "*") AND ((([tbl THE CARD].[勤務先]) Like [Forms]![frm_検索用]![勤務先] & "*") Is Null)) OR ((([tbl THE CARD].勤務先) Like [Forms]![frm_検索用]![勤務先] & "*"))
ORDER BY [tbl THE CARD].ID;
と記載しました。

例えば,氏名と勤務先の両方の検索結果を表示させる場合,
・氏名が該当し,勤務先が空白のデータ
が抽出されます。氏名と勤務先の両方に検索条件をいれたときには,勤務先が空白のデータを抽出しないようにしたいのですが,どうしたら良いでしょうか。氏名だけで検索するときには,勤務先が空白かどうかは考慮しない結果を表示させたいと思います。

過不足があると思いますが,ご指導宜しくお願いします。

Accessを利用して住所録のデータベースを作成しています。

検索用フォームのレコードソースにクエリを指定して,フォーム上にテキストボックスを2つ配置し,コマンドボタンをクリックして抽出結果をフォームに表示させます。一つめのテキストボックスには氏名,二つ目のテキストボックスには,勤務先の入力をします。以下の条件での検索結果をフォーム上に表示させたいのですが,(3)の場合に,勤務先がない(未入力の)人のデータも同時に抽出されてしまいます。

(1)氏名のみの条件で該当する人
(2)氏名及...続きを読む

Aベストアンサー

横レス失礼致します。

No.1の方の組み方では、検索条件とするフィールドを追加するほど、複雑になっていきます。
VBAで対応されるのでしたら、以下のようにした方が、簡単にフィールドの追加ができます:


Private Sub 表示_Click()
On Error Goto エラー処理

  Dim StrWhr As String   'Where条件式
  Dim StrMsg As String   '表示メッセージ
  Dim StrSrc As String   'レコードソース
  Dim stDocName As String   '表示用フォームの名前

  '検索条件が指定されているもののみを、Andで順次連結してWhere条件式を作成
  If Nz(Me!氏名, "") <> "" Then
    StrWhr = "氏名 Like '*" & Me!氏名 & "*'"
  End If
  If Nz(Me!勤務先, "") <> "" Then
    StrWhr = IIF(StrWhr = "", "", StrWhr & " And ") & "勤務先 Like '*" & Me!勤務先 & "*'"
  End If
  If Nz(Me!住所, "") <> "" Then
    StrWhr = IIF(StrWhr = "", "", StrWhr & " And ") & "住所 Like '*" & Me!住所 & "*'"
  End If
  '以降、検索条件を入力するテキストボックスごとに、以下のセットで追加すればOKです。
  'If Nz(Me!○○, "") <> "" Then
  '  '曖昧検索の場合
  '  StrWhr = IIF(StrWhr="", "", StrWhr & " And ") & "○○ Like '*" & Me!○○ & "*'"
  '  '完全一致検索(数値型)の場合
  '  'StrWhr = IIF(StrWhr="", "", StrWhr & " And ") & "○○ = " & Me!○○
  'End If

  '↓~~~OpenFormのWhere条件で絞り込みをする場合、ここの一団は不要~~~↓
  If StrWhr="" Then
    StrSrc = "Select * From [tbl THE CARD] Order By ID;"
  Else
    StrSrc = "Select * From [tbl THE CARD] Where " & StrWhr & " Order By ID;"
  End If
  '↑~~~OpenFormのWhere条件で絞り込みをする場合、ここの一団は不要~~~↑

  '確認メッセージで「OK」を選択したら、絞り込み(または解除)を実行
  If MsgBox(StrMsg, vbOKCancel, "確認") = vbOK Then
    'レコードソースの切替で対応する場合
    '(フォーム側のレコードソースは空白にしておくと、コントロールに一瞬エラーが表示
    ' されるものの、表示は速くなります)
    DoCmd.OpenForm stDocName
    Forms(stDocName).RecordSource = StrSrc
    'フィルタ条件で対応する場合(一旦レコードを読み込んでからの絞り込みになる分、
    ' 表示は遅くなります)
    'DoCmd.OpenForm stDocName, , , StrWhr
  End If

終了処理:
  Exit Sub
エラー処理:
  MsgBox Err & Error$, , Me.Name & " 表示"
  Resume 終了処理
End Sub


・・・以上です。

横レス失礼致します。

No.1の方の組み方では、検索条件とするフィールドを追加するほど、複雑になっていきます。
VBAで対応されるのでしたら、以下のようにした方が、簡単にフィールドの追加ができます:


Private Sub 表示_Click()
On Error Goto エラー処理

  Dim StrWhr As String   'Where条件式
  Dim StrMsg As String   '表示メッセージ
  Dim StrSrc As String   'レコードソース
  Dim stDocName As String   '表示用フォームの名前

  '検索条件が指定されてい...続きを読む


人気Q&Aランキング

おすすめ情報