新規記事の投稿を行うことで、非表示にすることが可能です。
2018年03月23日
Accessで宛て名印刷
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
封筒印刷
この内容で封筒印刷等も実現できると思います。
よく使用する「長3封筒」「角2封筒」の大きさに合わせて、
配置を考えれば実現できそうです。
ここで少し高度な技を!
レポート上で数字を漢数字に変換してみましょう。
引用させてもらったサイト
こちら
下のような内容のコードを記載した標準モジュールを作成します。
Public Function NumToKanji(strNum As String) As String
'半角数字を漢字の数字に変換する
Dim strKanji As String
Dim strCharacter As String
Dim intPos As Integer
Dim iintLoop As Integer
Const cstrNum As String = "0123456789"
Const cstrKanjiNum As String = "0一二三四五六七八九"
'引数を1文字ずつ変換するループ
For iintLoop = 1 To Len(strNum)
'引数より1文字を取り出し
strCharacter = Mid$(strNum, iintLoop, 1)
'その1文字が半角数字か(cstrNumに含まれるか)チェック
intPos = InStr(1, cstrNum, strCharacter, vbBinaryCompare)
If intPos > 0 Then
'半角数字の場合は漢字に変換
strKanji = strKanji & Mid$(cstrKanjiNum, intPos, 1)
Else
'半角数字でなければそのまま
strKanji = strKanji & strCharacter
End If
Next iintLoop
'漢字の文字列を返り値に設定
NumToKanji = strKanji
End Function
そしてレポート内に「非連結」のテキストボックスを作成して、
コントロールソースに「=NumToKanji([住所1])」と記載します。
注意として、今使用している「住所1」のテキストボックスに
追記してはいけません。
エラーになります。(循環エラー)
必ず非連結の新しいテキストボックスを作成してください。
これをレポート上で表示すると下記のようになります。
赤枠の部分です。
それからこのテキストボックスは縦書きに設定しています。
この方が自然ですね。
もう一つ紹介しておきましょう。
数字はそのままで「−」だけ縦書きにしています。
これも標準モジュールを追加します。
引用させてもらったサイト
こちら
コードは下記です。
Public Function AddressVConv(S) As String
Dim i As Long, P As Long, C As String
If IsNull(S) Then Exit Function
S = Replace(S, "-", "|")
AddressVConv = Space(Len(S) * 3)
P = 1
For i = 1 To Len(S) - 1
C = Mid$(S, i, 1)
If C & Mid$(S, i + 1, 1) Like "[0-9][0-9]" Then
Mid$(AddressVConv, P, 1) = C
P = P + 1
Else
Mid$(AddressVConv, P, 3) = C & vbCrLf
P = P + 3
End If
Next
Mid$(AddressVConv, P, 1) = Mid$(S, i, 1)
AddressVConv = RTrim$(AddressVConv)
End Function
新たな非連結のテキストボックスを作り、
コントロールソースに「=AddressVConv([住所1])」と記載します。
この結果が上の赤枠です。
このテキストボックスは横書きのままです。
配置でセンターにしているだけです。
一文字ごとに見ていき「−」があれば「|」に変換し、
「−」でなければ改行を入れるという内容です。
先に紹介したコードは「半角数字」が見つかれば「漢数字」に
変換という内容でした。
今回は「−」だけ縦書きにするというものです。
どちらも捨てがたいものがあります。
お好みで使用されてはどうでしょうか。
タグ:Accessで宛て名印刷
2018年04月05日
Accessで宛名印刷
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
職場で同じようなことをして、ある程度使えるものができました。
その中でやはり必要と思われるフィールドとして「敬称」
「グループ」を追加したいと思います。
「敬称」はとりあえず「様」と「御中」にしました。
それ以外に必要あれば追記してください。
それから「グループ」ですが、色々な方の住所録を同じところに入力するので、
グループ分けをしないと大変だろうなという事で「グループ」を追加します。
Accessデータベースの便利なところは、とりあえずデータを蓄積しておいて、
後は条件を設定して自由に加工・抽出ができることですね。
そのためにも最初のテーブル設計が大事になってきます。
上記のように「敬称」と「グループ」を追加しました。
ついでに「敬称テーブル」と「グループテーブル」の2つを新規作成しましょう。
今回「グループ」は「得意先」と「友人」の2つですが、
職場の場合はグループ分けが4つくらいできました。
T_住所録のフィールドを追加したので、Q_住所録もフィールドを追加し、
F_住所録も追加しましょう。
そして「F_住所録」では「敬称」と「グループ」をコンボボックスにしましょう。
赤枠の部分を追加しました。
それからフォームに設置してありました「印刷指定」のチェックボックスは一旦外しました。
これも別の形で使用します。
上のように「Q_得意先印刷指定」と「Q_友人印刷指定」という2つのクエリを
作成しました。
抽出条件でグループ分けしています。それから「印刷指定」の「True」は
ここでは抽出条件から削除しています。
(フィールドは残しています)
それから「郵便番号」のフィールドも表示するようにしましょう。
タグ:Accessで宛名印刷
2018年04月16日
Accessで宛て名印刷
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
印刷フォームの作成
この2つのクエリで各々表形式のフォームを作成していきます。
これもフォームウィザートで作成しましょう。
このような形になります。
このままでは見難いのでレイアウトを整えて行きましょう。
レイアウトを調整する場合は「レイアウトビュー」にすると簡単です。
今は印刷指定以外のフィールドを選択して、まとめて右側に寄せたところです。
このようにして横幅を調整していきましょう。
完成したのが上の状態です。
少し見やすくなりましたね。
ここで印刷指定のチェックを入れていく予定です。
同じように「友人」フォームも作りましょう。
※住所1〜住所4まで設定しています。
はがきウィザートで1〜4まであったのでそのまま使用していますが、
実際は住所2までで十分ではないかと思っています。
とりあえずこのまま進めます。
職場の方は住所3までにしています。
基本的な操作方法としては「F_得意先印刷指定」または「F_友人印刷指定」の
フォームから印刷したいところに「チェック」を入れ、「Q_印刷指定」に
反映させて、そこからはがき印刷するという流れになります。
タグ:Accessで宛て名印刷
2018年05月04日
Accessで宛て名印刷
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
封筒印刷
今はハガキだけ対象ですが、実際は長3封筒とか角2封筒を良く
使用すると思います。
ハガキ印刷のレポートを使用して「長3封筒」「角2封筒」が
できないかやってみました。
「R_はがき印刷」をコピーして貼り付けます。
その後、名前を「長3封筒印刷」にします。
それをデザインビューで開き大きさを変更します。
長3封筒は大体横が10.5縦が20くらいでちょうど良い大きさになります。
この大きさの中にバランスよく配置し、フォントの大きさも変更していけば良いと思います。
上記のように調整しました。
これを通常表示すると
白紙の状態になりますね。
何故ならば、現在はハガキ設定になっているからです。
上のリボンに「ページ設定」というところがあります。
そこを押してください。
「ページ」タブで現在の「はがき」から「封筒長型3号」に変更します。
するとこのように表示されます。
それから「所属部署」を縦書き無しにしています。
そのために数字が正常に表示されています。
横幅が大きくなると横複数文字が表示されてしまうので1文字分の幅にして、
センター揃えにしています。
郵便番号の位置は実際に印刷して細かな位置調整をしています。
同じようにして角2封筒も作りましょう。
角2封筒は上記のようになりました。
ちなみに角2封筒の大きさは横20.5くらい、縦は28くらいですね。
後同じ大きさ(長3と角2)で裏面を作っておきましょう。
裏面は差出人の住所と氏名です。
これは白紙のレポートで「ラベル」で作れば良いと思います。
もし複数の差出人がいる場合はテーブルを作成して差出人印刷指定を作れば良いと思います。
ここまででハガキ・長3封筒・角2封筒の印刷ができそうになってきました。
その他の封筒は同じように作れば良いと思います。
また洋型だと横書きになるので、縦書きにしたり、
漢数字にしたりとややこしいことをする必要がなく、そのまま使用できます。
タグ:Accessで宛て名印刷
2018年06月11日
Accessで宛て名印刷
【国認定】不用PCの宅配便回収<リネットジャパン>
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
ここからもう少しフォームのレイアウトとか使いやすさを考えて行きましょう。
メインフォームに下記のように「得意先印刷指定」「友人印刷指定」という
ボタンを配置しました。
このボタンを押すことにより、それぞれのフォームが開きます。
「得意先印刷指定」ボタンを押すと下のようにフォームが開きます。
本当はここの「チェックボタンでチェックした物を印刷する」という流れに
したいのですが、上記のように前回のチェックが残ったままですね。
ここは消したいところです。
考えたのが「更新クエリ」です。
このフォームを開く前に更新クエリを実行してチェックは全て無しにする。
そういう更新クエリを作りましょう。
「Q_得意先印刷指定」をコピーして、貼付けしました。
その際名前を「Q_得意先印刷指定更新」としました。
デザインモードで開き、リボンの「更新」ボタンを押します。
これで更新クエリになりました。
後はどのフィールドをどのように更新させるのか設定します。
上のように「印刷指定」の「レコードの更新」欄に「False」と入力します。
そしてリボンの「表示」を押すと下のようになります。
チェックが消えていますね。
後は「マクロビルダー」でフォームを開く前に「更新クエリ」を実行するように
変更すればOKです。
「得意先印刷指定」ボタンを押すと、全てチェックが外れた状態でフォームが開きます。
一度チェックを入れて、閉じて再度開いて確認すればチェックが消えていることが分かります。
同じようにして「友人印刷指定」も更新クエリを作成しましょう
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
ここからもう少しフォームのレイアウトとか使いやすさを考えて行きましょう。
メインフォームに下記のように「得意先印刷指定」「友人印刷指定」という
ボタンを配置しました。
このボタンを押すことにより、それぞれのフォームが開きます。
「得意先印刷指定」ボタンを押すと下のようにフォームが開きます。
本当はここの「チェックボタンでチェックした物を印刷する」という流れに
したいのですが、上記のように前回のチェックが残ったままですね。
ここは消したいところです。
考えたのが「更新クエリ」です。
このフォームを開く前に更新クエリを実行してチェックは全て無しにする。
そういう更新クエリを作りましょう。
「Q_得意先印刷指定」をコピーして、貼付けしました。
その際名前を「Q_得意先印刷指定更新」としました。
デザインモードで開き、リボンの「更新」ボタンを押します。
これで更新クエリになりました。
後はどのフィールドをどのように更新させるのか設定します。
上のように「印刷指定」の「レコードの更新」欄に「False」と入力します。
そしてリボンの「表示」を押すと下のようになります。
チェックが消えていますね。
後は「マクロビルダー」でフォームを開く前に「更新クエリ」を実行するように
変更すればOKです。
「得意先印刷指定」ボタンを押すと、全てチェックが外れた状態でフォームが開きます。
一度チェックを入れて、閉じて再度開いて確認すればチェックが消えていることが分かります。
同じようにして「友人印刷指定」も更新クエリを作成しましょう
タグ:Accessで宛て名印刷
2018年07月12日
Accessで住所録印刷
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
印刷指定フォームにボタンを追加していく
印刷指定フォームに「閉じる」「はがき印刷」「長3封筒印刷」「角2封筒印刷」
というボタンを追加しました。
各レポートを開く設定は「印刷プレビュー」にしてください。
「友人印刷指定」」にも同じボタンを追加しましょう。
それから裏面を別に印刷する場合は、裏面のレポートを作成して、
ここに裏面印刷ボタンを付ければ良いでしょう。
ただし「はがき」「長3」「角2」と別々のレポートを作って、
ボタンも別々に作ってください。
実際に宛て名印刷してみましょう。
下のように最初の3つにチェックを付けて「はがき印刷」ボタンを押してみましょう。
印刷プレビューが開くので「その他のページ」で「4ページ」を選択しています。
あれれ!3つ指定したのに2つしか表示されていません。
ここで色々調べました。
結論として印刷指定フォームで、一番左端にペンのマークがありますね。
そこが3番目でその部分が表示されていません。
試しに4つ目を選択したところ、3つ目が表示されるようになりました。
どうやら「印刷指定フォーム」でチェックして、最後のレコードが
フォーカス状態では「Q_ 印刷指定」に反映されないようです。
そこで対策として「はがき印刷」ボタンを押した際にレコードの更新作業を追加します。
マクロビルダーで上記のように「レコードの移動」を追加しました。
この状態で再度3件指定して「はがき印刷」ボタンを押します。
上記のように3件表示されました。
同じように「長3封筒印刷」「角2封筒印刷」ボタンにもレコードを更新するように追加します。
後は実際にプレビュー画面を見ながら少しずつ配置を調整して行けば良いと思います。
しかし実際の相手先の会社は難しいですね。
住所も短い住所もあれば、非常に長い住所もあります。
特にどこかのビル内の会社などは「ビル名」が長かったりしてうまく表示されない場合があります。
また会社名・部署名も、長い名称があったりして結構大変です。
それを考えると、世間一般にある「あて名書き印刷ソフト」はよくできていますね。
職場で作った住所録でも上記のように長い住所・長い会社・部署名の場合
バランスが難しいですね。
特に右側の物は所番地が2行目になってしまうというバランスの悪さがあります。
まあ新規で長3封筒を作成して、住所1・住所2で固定する方法もあります。
テーブルで住所1・住所2の文字数を決めておけばそれほどバランスの
悪いものは出来ないと思います。
また住所録2のところで○○ビル2Fとかの記載がある場合もなかなか難しい表示になります。
データ入力の際に住所録2の数字は全角、○Fというところは○階とかの
統一表現にすればある程度問題はなくなります。
そのあたりは各自色々試してみてはいかがでしょうか。
今回はここまでとします。
タグ:Accessで住所録印刷
2019年01月25日
Access入門 テーブルについて
パソコン工房【公式通販サイト】
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
過去の記事を読み返したときに非常に見にくいなと改めて感じましたので、
もう少しすっきりするような記事に変更したいと思います。
ついでに基本的なことを再度まとめていきたいと思っています。
【アクセステーブル作成方法】
通常アクセスを新規で起動した場合下のような画面になります。
最初はこの画面を見て「ここからどうしたらいいのか」ということで悩むと思います。
私もそうでした。
とりあえず「クリックして追加」を押します。
このようにメニューが表示されます。
このメニューは何かというと、この列のデータ型ですね。
Excelでは「列」という名称ですが、Accessでは「フィールド」と呼びます。
このフィールドにどのようなデータを入れるのかを決定します。
テキストなのか数値なのか通貨なのか日付なのか等々ですね。
ただしこれも後で修正できますので適当に決めてもいいですし、
決めなくてそのままデータ入力しても大丈夫です。
今仮に上のような名前を付けてみました。
「クリックして追加」をクリックして「短いテキスト」を選択して「代表者氏名」から
「配偶者生年月日」までタイトルを付けました。
本来「生年月日」は「日付・時刻」で設定する必要があります。
後で修正する方法を記載します。
ノートパソコンのことならパソコン工房通販ショップ
まずはテーブルを保存しましょう。
「テーブル1」の右上の「×」印を押して閉じようとすると「名前を付けて保存しますか」
というメッセージが表示されるのでメッセージに従って名前を付けましょう。
ここでは「T_名簿」としました。
私のルールですが、テーブルは「T_」を頭に付けています。
今後「クエリ」とか「フォーム」とか「レポート」が出てきます。
そこで「クエリ」は「Q_」
「フォーム」は「F_」、「レポート」は「R_」という区別をしております。
そのあたりはご自由に名前を付けてください。
保存後は下のような表示になります。
国内&海外ホテル予約『トリバゴ』
データ型の変更をしてみましょう。
「T_名簿」をダブルクリックしてください。
「T_名簿」が開きますのでリボンの「ホーム」「表示」から「デザインビュー」を選択してください。
また「T_名簿」の上で右クリックすると下のようなメニューが出るのでここで
「デザインビュー」を選択しても結構です。
Excelでも右クリックは非常に便利ですね!!
Accessでも右クリックは有効ですし便利です。
右クリックを活用しましょう。
下のような画面が表示されます。
ここでフィールドのデータ型を変更できます。
左側がフィールド名で右側がデータ型です。
また下のほうに「フィールドプロパティ」というところがあり、ここで詳細設定ができます。
現在「代表者生年月日」と「配偶者生年月日」が「短いテキスト」になっています。
ここを日付・時刻型に変更してみましょう
「代表者生年月日」を選択すると下のようにデータ型が表示されますので、
「日付/時刻型」を選択してください。
それから下の「フィールドプロパティ」で詳細を設定します。
今は「日付(S)」を選択しました。
この時に下の画面の矢印のようなマークが出たときはその矢印をクリックすると
メニューが表示されます。
「代表者生年月日が使用されているすべての箇所で書式を更新します」を選択すると
「クエリ」「フォーム」「レポート」で「代表者生年月日」が使用されているところは
すべて自動的にデータ型が変更されることになります。
例えば「レポート」とかの場合変更しないほうが良い場合もあるので注意が必要です。
ここもレポートもデータ型はいつでも変更できますからおかしいときは変更してください。
また数値とか通貨の場合「規定値」が「0」に設定されます。これも「0」を表示した
ほうが良い場合と不要の場合があります。
不要の場合はここで「0」を消去してください。
このフィールドプロパティも細かな設定ができますので色々触ってみてください。
Accessはプロパティが豊富です。
全部覚えきることはできないと思いますが、とにかく自分で色々使ってみることが
大事だと思います。
その中で自然に習得していくと思います。
私がよく使用するテーブルの作成方法として「Excel」で作ってから
「Access」にインポートする方法があります。
例えば下のようなExcel住所録があるとします。
これを先ほどのAccessにテーブルとしてインポートしてみましょう。
Accessリボンの「外部データ」「新しいデータソース」「ファイルから」Excel」を
選択してください。
当然ここの色々なところからインポートできるのが分かりますね。
「データのインポート元とインポート先、またはリンク元とリンク先の選択」という
画面が表示されます。
ここでインポートしたいExcelファイルを選択します。
下にオプションボタンが3つあります。
内容確認して目的にそったオプションを選んでください。
今回は単純にデータをインポートするだけなので「現在のデータベースの
新しいテーブルにソースデータをインポートする」を選択します。
AccessとExcelをリンクさせる場合は一番下の「リンクテーブルを作成して
ソースデータにリンクする」を選択することになります。
リンクテーブルを作成する場合に注意する点はどちらのアプリでデータを更新するかです。
ここに記載してあるように「ソースデータをAccessから変更することはできません。」
とあるようにExcelからリンクテーブルをインポートした場合、「Excel」からしか
データ変更ができないということです。
後日「エクスポート」というものも紹介しますが、AccessからExcelにエクスポート
した場合はAccessからしかデータ変更ができないということです。
これらの特徴を把握して「インポート」「エクスポート」を行ってください。
OKを押すと上のような画面が表示されます。
Excelタブで複数のデータがある場合は「sheet」の選択をしてください。
ここではこのシートで良いので「次へ」を押します。
ここでフィールド名を設定します。
赤丸の部分にチェックを入れるとExcelシートの1行目がフィールド名になります。
ここで大事な注意点です。
Excelではかなり表題に関しては自由度があります。
Excelでは上のように2段にすることもできます。
また同じ表題でも問題ありません。
しかしAccessでは2段の表題は使用できません。
また同じ表題も使用できません。
最初に作った「T_名簿」では「代表者氏名」「代表者生年月日」「配偶者氏名」
「配偶者生年月日」となっていたと思います。
このようにAccessのフィールド名は必ず「1行」で「同じ名前を使用できない」
というルールを忘れないようにしてください。
同じ名前でインポートした場合はエラーメッセージが表示されます。
これも実際にやってみたらわかります。
「次へ」を押しましょう。
今度はデータ型の設定です。
この段階でもデータ型を設定できますが、インポートした後、デザインビューで
変更することもできます。
私はほとんどインポート後に設定する場合が多いです。
「次へ」を押してください。
ここで「主キー」の設定になります。
「主キー」とは何か。
テーブル内のレコードを識別するために設定されるフィールドです。
基本的にAccessの場合はここで自動的に「ID」という主キーのフィールドができ、
通常はこのまま「主キーを自動的に設定する」状態で「次へ」を押します。
もし自分で主キーを設定する場合は
1 テーブル内で他のレコードと値が重複することがない
2 必ず値が入力されること
上記2点の条件を満足できるフィールドがあればそれを主キーにしてもかまいません。
しかし実際は「主キーを自動的に設定する」で問題ないと思います。
今まで不具合を感じたことはありません。
一度ほかのフィールドを主キーに設定し逆に不具合を感じ、後で自動的に主キーを
設定する方が大変だった記憶があります。
「次へ」を押してください。
ここでテーブルに名前を付けます。
「T_住所録」と名前を付けました。
これで「完了」ボタンを押せばインポート終了です。
「完了」ボタンを押すと下のように「インポート操作の保存」という画面が表示されます。
ここで「インポート操作の保存」にチェックを入れると下のように「名前を付けて保存」
と「説明」が表示されます。
保存するとリボンの「保存済みのインポート操作」をクリックすると同じ事が既存の
テーブルに上書きで実行されます。
テーブルの作成に関しては大体このくらいでしょうか。
E┃N┃E┃O┃S┃で┃の┃給┃油┃が┃
━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛
ポ┃イ┃ン┃ト┃2┃倍┃!┃の┃楽┃天┃カ┃ー┃ド┃!┃
━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛
もちろん楽天市場でのご利用分もポイント2倍!
┌───────────────────────────────┐
│ 新規入会で楽天スーパーポイント2,000ポイントプレゼント!! │
└───────────────────────────────┘
詳しくはコチラから
⇒https://px.a8.net/svt/ejp?a8mat=2TCHR1+8HFFNM+FOQ+CBO83
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
過去の記事を読み返したときに非常に見にくいなと改めて感じましたので、
もう少しすっきりするような記事に変更したいと思います。
ついでに基本的なことを再度まとめていきたいと思っています。
【アクセステーブル作成方法】
通常アクセスを新規で起動した場合下のような画面になります。
最初はこの画面を見て「ここからどうしたらいいのか」ということで悩むと思います。
私もそうでした。
とりあえず「クリックして追加」を押します。
このようにメニューが表示されます。
このメニューは何かというと、この列のデータ型ですね。
Excelでは「列」という名称ですが、Accessでは「フィールド」と呼びます。
このフィールドにどのようなデータを入れるのかを決定します。
テキストなのか数値なのか通貨なのか日付なのか等々ですね。
ただしこれも後で修正できますので適当に決めてもいいですし、
決めなくてそのままデータ入力しても大丈夫です。
今仮に上のような名前を付けてみました。
「クリックして追加」をクリックして「短いテキスト」を選択して「代表者氏名」から
「配偶者生年月日」までタイトルを付けました。
本来「生年月日」は「日付・時刻」で設定する必要があります。
後で修正する方法を記載します。
ノートパソコンのことならパソコン工房通販ショップ
まずはテーブルを保存しましょう。
「テーブル1」の右上の「×」印を押して閉じようとすると「名前を付けて保存しますか」
というメッセージが表示されるのでメッセージに従って名前を付けましょう。
ここでは「T_名簿」としました。
私のルールですが、テーブルは「T_」を頭に付けています。
今後「クエリ」とか「フォーム」とか「レポート」が出てきます。
そこで「クエリ」は「Q_」
「フォーム」は「F_」、「レポート」は「R_」という区別をしております。
そのあたりはご自由に名前を付けてください。
保存後は下のような表示になります。
国内&海外ホテル予約『トリバゴ』
データ型の変更をしてみましょう。
「T_名簿」をダブルクリックしてください。
「T_名簿」が開きますのでリボンの「ホーム」「表示」から「デザインビュー」を選択してください。
また「T_名簿」の上で右クリックすると下のようなメニューが出るのでここで
「デザインビュー」を選択しても結構です。
Excelでも右クリックは非常に便利ですね!!
Accessでも右クリックは有効ですし便利です。
右クリックを活用しましょう。
下のような画面が表示されます。
ここでフィールドのデータ型を変更できます。
左側がフィールド名で右側がデータ型です。
また下のほうに「フィールドプロパティ」というところがあり、ここで詳細設定ができます。
現在「代表者生年月日」と「配偶者生年月日」が「短いテキスト」になっています。
ここを日付・時刻型に変更してみましょう
「代表者生年月日」を選択すると下のようにデータ型が表示されますので、
「日付/時刻型」を選択してください。
それから下の「フィールドプロパティ」で詳細を設定します。
今は「日付(S)」を選択しました。
この時に下の画面の矢印のようなマークが出たときはその矢印をクリックすると
メニューが表示されます。
「代表者生年月日が使用されているすべての箇所で書式を更新します」を選択すると
「クエリ」「フォーム」「レポート」で「代表者生年月日」が使用されているところは
すべて自動的にデータ型が変更されることになります。
例えば「レポート」とかの場合変更しないほうが良い場合もあるので注意が必要です。
ここもレポートもデータ型はいつでも変更できますからおかしいときは変更してください。
また数値とか通貨の場合「規定値」が「0」に設定されます。これも「0」を表示した
ほうが良い場合と不要の場合があります。
不要の場合はここで「0」を消去してください。
このフィールドプロパティも細かな設定ができますので色々触ってみてください。
Accessはプロパティが豊富です。
全部覚えきることはできないと思いますが、とにかく自分で色々使ってみることが
大事だと思います。
その中で自然に習得していくと思います。
私がよく使用するテーブルの作成方法として「Excel」で作ってから
「Access」にインポートする方法があります。
例えば下のようなExcel住所録があるとします。
これを先ほどのAccessにテーブルとしてインポートしてみましょう。
Accessリボンの「外部データ」「新しいデータソース」「ファイルから」Excel」を
選択してください。
当然ここの色々なところからインポートできるのが分かりますね。
「データのインポート元とインポート先、またはリンク元とリンク先の選択」という
画面が表示されます。
ここでインポートしたいExcelファイルを選択します。
下にオプションボタンが3つあります。
内容確認して目的にそったオプションを選んでください。
今回は単純にデータをインポートするだけなので「現在のデータベースの
新しいテーブルにソースデータをインポートする」を選択します。
AccessとExcelをリンクさせる場合は一番下の「リンクテーブルを作成して
ソースデータにリンクする」を選択することになります。
リンクテーブルを作成する場合に注意する点はどちらのアプリでデータを更新するかです。
ここに記載してあるように「ソースデータをAccessから変更することはできません。」
とあるようにExcelからリンクテーブルをインポートした場合、「Excel」からしか
データ変更ができないということです。
後日「エクスポート」というものも紹介しますが、AccessからExcelにエクスポート
した場合はAccessからしかデータ変更ができないということです。
これらの特徴を把握して「インポート」「エクスポート」を行ってください。
OKを押すと上のような画面が表示されます。
Excelタブで複数のデータがある場合は「sheet」の選択をしてください。
ここではこのシートで良いので「次へ」を押します。
ここでフィールド名を設定します。
赤丸の部分にチェックを入れるとExcelシートの1行目がフィールド名になります。
ここで大事な注意点です。
Excelではかなり表題に関しては自由度があります。
Excelでは上のように2段にすることもできます。
また同じ表題でも問題ありません。
しかしAccessでは2段の表題は使用できません。
また同じ表題も使用できません。
最初に作った「T_名簿」では「代表者氏名」「代表者生年月日」「配偶者氏名」
「配偶者生年月日」となっていたと思います。
このようにAccessのフィールド名は必ず「1行」で「同じ名前を使用できない」
というルールを忘れないようにしてください。
同じ名前でインポートした場合はエラーメッセージが表示されます。
これも実際にやってみたらわかります。
「次へ」を押しましょう。
今度はデータ型の設定です。
この段階でもデータ型を設定できますが、インポートした後、デザインビューで
変更することもできます。
私はほとんどインポート後に設定する場合が多いです。
「次へ」を押してください。
ここで「主キー」の設定になります。
「主キー」とは何か。
テーブル内のレコードを識別するために設定されるフィールドです。
基本的にAccessの場合はここで自動的に「ID」という主キーのフィールドができ、
通常はこのまま「主キーを自動的に設定する」状態で「次へ」を押します。
もし自分で主キーを設定する場合は
1 テーブル内で他のレコードと値が重複することがない
2 必ず値が入力されること
上記2点の条件を満足できるフィールドがあればそれを主キーにしてもかまいません。
しかし実際は「主キーを自動的に設定する」で問題ないと思います。
今まで不具合を感じたことはありません。
一度ほかのフィールドを主キーに設定し逆に不具合を感じ、後で自動的に主キーを
設定する方が大変だった記憶があります。
「次へ」を押してください。
ここでテーブルに名前を付けます。
「T_住所録」と名前を付けました。
これで「完了」ボタンを押せばインポート終了です。
「完了」ボタンを押すと下のように「インポート操作の保存」という画面が表示されます。
ここで「インポート操作の保存」にチェックを入れると下のように「名前を付けて保存」
と「説明」が表示されます。
保存するとリボンの「保存済みのインポート操作」をクリックすると同じ事が既存の
テーブルに上書きで実行されます。
テーブルの作成に関しては大体このくらいでしょうか。
E┃N┃E┃O┃S┃で┃の┃給┃油┃が┃
━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛
ポ┃イ┃ン┃ト┃2┃倍┃!┃の┃楽┃天┃カ┃ー┃ド┃!┃
━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛
もちろん楽天市場でのご利用分もポイント2倍!
┌───────────────────────────────┐
│ 新規入会で楽天スーパーポイント2,000ポイントプレゼント!! │
└───────────────────────────────┘
詳しくはコチラから
⇒https://px.a8.net/svt/ejp?a8mat=2TCHR1+8HFFNM+FOQ+CBO83
2019年01月31日
Accessクエリ 選択クエリの作り方
ドラマ観るなら<U-NEXT>
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
Accessクエリについて
今回は「クエリ」について紹介していきます。
Accessの場合は「テーブル」「クエリ」「フォーム」「レポート」と大きな
要素が4つあります。
その中で一番重要な部分が「クエリ」だと思っています。
「クエリ」の出来次第でそのアプリケーションの評価が決まって
くるのではないでしょうか。
クエリの例を紹介しましょう。
サンプルとして私が過去に使用した「切手在庫表」を使用します。
上のように「仕入れ先」「出庫先」「切手種別」「入出庫」と
4つのテーブルがあります。
名前で大体の中身はわかると思います。
「T_仕入先」のテーブルです。
「T_出庫先」のテーブルです。
「T_切手種別」のテーブルです。
「T_入出庫」のテーブルです。
これらのテーブルから「入庫の合計」「出庫の合計」「在庫数」。
また期間の「入庫数」「出庫数」を求めて行きたいと思います。
まずはクエリの種類からですが「選択クエリ「クロス集計クエリ」
「重複クエリ」「不一致クエリ」「ユニオンクエリ」「更新クエリ」
等があります。
一番多く使用するのは「選択クエリ」だと思います。
【パソコン買取アローズ】
「選択クエリ」の作成方法
「T_入出庫」のテーブルから「入庫の合計」を表示するクエリを作ってみましょう。
まずは出来上がったものを紹介しましょう。
これが入庫数の合計を表示するクエリです。
テーブルに似ていますね。
このクエリの作り方を紹介していきます。
最初は単純な「選択クエリ」からの作成方法を紹介したいと思います。
上のように「T_入出庫」テーブルを開いています。
テーブルを開いた状態でも構わないし左のところでテーブルを選択して
おくだけでも大丈夫です。
リボンの「作成」タブから「クエリウィザード」を選択します。
ここで「選択クエリウィザード」を選択して「OK」します。
ここはクエリに表示させたい項目を選んで>を押すと選択された項目が
右側に移動します。
または項目を選択してダブルクリックすれば移動します。
すべて選択する場合は下側の>>を押してください。
今「種類」と「入庫数」だけ移動しました。
これで「次へ」を押します。
とりあえずここはこのままで「次へ」を押します。
「集計する」を選択した場合もやってみてください。
「集計のオプション」の設定によって胃色々な結果が得られます。
ここでクエリに名前を付けます。
「Q_全入庫」としました。これで「完了」を押します。
このように種類と入庫数が表示されました。
ここからデザインビューにします。
ここで「種類」の集計欄に「グループ化」を選択します。
そして「入庫数の合計」欄で「合計」を選択します。
この設定でどうなるかというと、種類でグループ化すると切手の種類でまとまる
ということです。
そして入庫数の合計で「合計」を選択すると「種類別でグループ化されたものが
合計される」ということになります。
要は切手ごとに入庫数が合計されるということです。
ここで表示を通常に戻しましょう。
最初に紹介した形になりましたね。
これで切手ごとの入庫数が表示されます。
国内&海外ホテル予約『トリバゴ』
次は「クエリデザイン」から作成してみましょう。
実際はこちらから作成するほうが楽だと思います。
リボンの作成タブから「クエリデザイン」を押してください。
先ほど似たような画面がありましたね。
あれと同じ画面です。
この画面はクエリの時に非常によく使用します。
早めに慣れるようにしてください。
ここで「T_入出庫」をダブルクリックするか、選択して「追加」を押すと
左上に「T_入出庫」が表示されます。
それから「閉じる」ボタンで「テーブルの表示」を閉じてください。
「T_入出庫」で「種類」と「入庫数」をダブルクリックすると下の表に表示されます。
ここでリボンの「集計」を押すと下の表に「集計」という行が表示されます。
後は先ほどと同じように「種類」の集計欄に「グループ化」を選択します。
そして「入庫数」欄で「合計」を選択します。
これで完成です。
後は名前を付けて保存してください。
こちらのほうが簡単でしょう。
後は慣れです。
どのように抽出・集計したいかを考えてからクエリを作成しましょう。
同じようにして「全出庫」も作りましょう。
世界中8000万人が利用する話題のホテル検索サイト『トリバゴ』
【選択クエリ】
本来の選択クエリとは少し違うので、本来の選択クエリの作り方も
紹介しておきましょう。
クエリウィザードでもクエリデザインのどちらで作ってもいいのですが、
「T_入出庫」からID以外のすべてを選択しましょう。
上記のようになりました。
ここで82円切手だけ抽出したいと思います。
「抽出条件」のところに「82」と記載しています。
これで「82円」だけ抽出されます。
当然120にすると120円切手だけ抽出されます。
これで通常表示にすると下のように82円切手だけのデータになります。
本来はこのように様々なデータのなかから特定のデータだけ抽出する場合に
使用します。
もちろん日付とか出庫先で抽出することも可能です。
またここから入庫だけ抽出したい場合は抽出欄に「Is Not Null」と入力します。
「Null」というのは覚えておいてください。
よく使用します。
ここを単に「Null」と入れると「Is Null」になります。
Nullというのは「無し」という意味です。
「0」ではありません。
ここでいうと数量の記載があるテーブルを抽出するという意味です。
このように82円切手の入庫だけ抽出できました。
もし「抽出条件」で購入先を「サークルK」を記載すると82円で入庫だけで
サークルKからの購入分が抽出されます。
この選択クエリも非常に便利です。
クエリの基本形なので必ず覚えてください。
またデザインビューで「並べ替え」を指定した場合は指定した並べ替えになります。
並べ替えの場合は左側が優先になります。
出庫も同じように作りましょう。
次に「在庫数」を出してみましょう。
単純に考えると「全入庫」と「全出庫」ができれば引き算をすれば差し引きで
在庫が出るはずですね。
やってみましょう。
クエリデザインで上のように「Q_全入庫」と「Q_全出庫」を選択します。
そしてどちらからでもいいので「種類」をマウスでドラッグして隣の種類まで
引っ張ります。
するとその間に線が現れます。
これが「リレーションシップ」です。「リレーションシップ」については後日詳しく
紹介するとして、とりあえず今回は左右に引っ張って線を作ってください。
それから「Q_全入庫」の「種類」と「入庫数の合計」をダブルクリックし
「Q_全出庫」の「出庫数の合計」をダブルクリックします。
これで一度通常表示にしてみましょう。
上のようになるのは納得できますね。
後はここに引き算を追加して「在庫数」が表示されるようにすればOKですね。
再度デザインビューにしてください。
出庫数の合計の右側に「在庫数: [入庫数の合計]-[出庫数の合計]」と記載しています。
「在庫数:」の部分は「フィールド名+:」で記載します。
次の「 [入庫数の合計]-[出庫数の合計]」が引き算の部分です。
引き算に使用するフィールド名は[]で囲みます。
これで切手ごとに入庫数−出庫数が計算されて「在庫数」のフィールドに表示されます。
通常表示にしてみましょう。
上記のように在庫数が表示されました。
このようにテーブルには単にデータだけ蓄積していきます。
そしてクエリで必要な項目を抽出して表示するなり加工するなりして結果を出します。
このためクエリの出来が非常に大事になってくるのです。
最初にどのようなデータベースを作るのかを考える場合、
「どのような結果を欲しいのか」から逆算していきどのようなクエリが必要か
考えていけばいいと思います。
またテーブルもできるだけ同じフィールドは作らないようにしましょう。
先ほど紹介した「リレーションシップ」でリンクできるので、
できるだけシンプルなテーブルを設計しましょう。
エーハチネット
2019年02月03日
Accessクエリ,クロス集計クエリ
送料・手数料・査定料・梱包材がすべて無料【パソコン買取アローズ】
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
クロス集計クエリについて
クロス集計クエリを作ってみましょう。
例えばある年度の毎月の切手種類別の入庫数を出したいと
思いませんか。
イメージとしては上のようなものです。
このような表をAccessで作ってみます。
作成リボンから「クエリウィザード」を選択して「クロス集計クエリ」を
選択して「OK」を押してください。
「クロス集計クエリウィザード」が表示されるので、「クエリ」から
「Q_入庫」を選択してください。
「Q_入庫」は「T_入出庫」から選択クエリで作成しております。
「次へ」を押してください。
最初に「行見出し」を決めます。
ここでは「切手種類」だけあればいいので「種類」だけ選択します。
「次へ」を押してください。(行見出しは3つまで選択できます)
次は「列見出し」を決めます。
今回は「「日付」を選択して「次へ」を押してください。
ここでは日付/事故型フィールドの中からグループ化する単位を指定します。
とりあえず毎月なので「月」を指定します。
「次へ」を押してください。
ここで集計するフィールドを選択します。
「入庫数」を選択して「集計方法」を選択します。
今回は「合計」が欲しいので「合計」を選択します。
「次へ」を押してください。
ここでクエリに名前を付けます。
そして「完了」を押してください。
上記のような表が完成します。
【ゲーム買取ブラザーズ】
それからリボンの「集計」ボタンを押すと「集計行」が表示されます。
ここで「合計」を選択すると各月の合計が表示されます。
これも便利ですね。
もう一つクロス集計クエリを載せておきます。
これは「行見出し」で「種類」と「購入先」の2つを選択した場合です。
種類別・購入先別で集計されています。
このように行見出しをうまく選択すると様々な条件でクエリが作成できます。
Excelのピボットテーブルでも同じようなものができますね。
色々条件を変えて試してください。
ノートパソコンのことならパソコン工房通販ショップ
2019年02月21日
Accessクエリ,重複クエリ,不一致クエリ,更新クエリ
マイクロソフトエクセルのまとめ記事はこちら
Microsoft Office ブログランキングへ
Accessその他のクエリ
【重複クエリ】
重複クエリとはテーブル内で重複したデータを抽出します。
何かの名簿があって同じ方を登録している可能性がある場合などに
使用すると便利です。
名前が同じでも他の項目が違う場合とかありますね。
その時は別人として区別されます。
今まで使ってきた切手在庫管理から重複クエリを作ってみましょう。
「T_入出庫」テーブルをもとにして、同じ日付で同じ種類を登録している
ものを抽出してみましょう。
クエリウィザードから「重複クエリ」を選択して「OK」を押してください。
「T_入出庫」テーブルを選択して「次へ」を押してください。
ここで重複データを調べるフィールドを設定します。
同じ日付で同じ種類を登録しているものを抽出したいので「日付」と
「種類」を選択します。
「次へ」を押してください。
ここはクエリで表示させたいフィールドを選択します。
一応全部選択します。
「次へ」を押してください。
ここで名前を付けます。「完了」を押してください。
このように同じ日付で同じ種類のものが抽出されました。
個人的にあまり使用頻度は高くないですね。
まあこのようなことができるということを覚えておいたらいいのかなと思います。
今会計関係でアプリを作っていますが、同じテーブルなのに入力タイミングが
違う場合があります。
(ひどいときは2カ月くらい離れる時があります)その際入力したかどうか
よく覚えていない時があるので、いったん入力して、後で重複クエリを実行
して重複を探す場合があります。
その他何か募集をして応募してきた方に重複がないかどうか調べるとか、
使用する場面は多々あると思います。
まずは15日間【無料】お試し利用から!大容量200GB〜レンタルサーバー『HETEML』
【不一致クエリ】
不一致クエリとは2つのテーブルまたはクエリを比較して「不一致レコード」
を抽出するクエリです。
非常に単純な例を上げます。
ある月のある製品の売り上げをまとめたものです。
テーブル1とテーブル2があります。
(テーブル1)
(テーブル2)
上記の2つのテーブルを比較して日付の違うものを抽出することにします。
クエリウィザードから「不一致クエリ」を選択して「OK」を押してください。
ここで比較するテーブル(クエリ)を選択します。
「次へ」を押してください。
ここでもう一つのテーブル(クエリ)を選択します。
「次へ」を押してください。
関連付けるフィールドを選択します。
今回は日付を比較したいので両方の日付を選択して「<=>」を押します。
「次へ」を押してください。
ここは不一致クエリに表示させるフィールドを選択します。
今回はすべて選択して「次へ」を押してください。
ここで名前を付けて「完了」を押してください。
このように日付が一致しないレコードだけ抽出されました。
個人的にはこの不一致クエリもあまり使用しませんね。
ショッピングモール【カラメル】にも出店できるから
集客力抜群の【カラーミーショップ】
https://px.a8.net/svt/ejp?a8mat=2NR5KR+GC8AGI+348+I47XV
【更新クエリ】
このクエリは結構便利なので時々使っています。
よく使う場面としては、何かの処理をした際に「処理日を自動的に入れる」
ということが考えられますね。
また数値が入っていて、その数値を何倍にしたいとか、
何%割引きにしたいとかいうときに「更新クエリ」を使用すると
一気に更新できます。
私は入場券発券で使用しましたね。
申し込みがあればどんどん入力していき、時々まとめて入場券を発券します。
発券したら更新クエリで発券日に日付を入れていく。
発券日が記載されているテーブルは今後発券されないという仕組みですね。
一度住所録を使って更新クエリを体験しましょう。
「T_住所録」に「処理日」というフィールドを追加して、
何か作業した後に「更新クエリ」を実行して、
住所録に「処理日」というフィールドを追加しました。
「更新クエリ」の作り方ですが、一番簡単な方法を記載します。
クエリを作成するときの「クエリデザイン」を開いて、「T_住所録」を追加します。
ここから更新したいフィールドを選択します。
今回は処理日を更新したいので、処理日だけ選択します。
上のように「処理日」だけ選択してリボンの「更新」ボタンを押します。
このボタンを押すと「更新クエリ」になります。
ここの表示が変ります。
「並べ替え」から下が変りましたね。
「レコードの更新」「抽出条件」「または」になりました。
今回は「レコードの更新」を使用します。
更新は「処理日」を入れるように考えています。
処理日を入れるとしたら当然「当日」ですね。
ですからここに「Date()」と入力します。
「Date()」の意味は分かりますね。
「今日の日付」という意味です。
Excel関数の「Today()」と同じです。
上記のように入力します。
これで閉じてください。
閉じるときに名前を聞いてきますので「Q_処理日」にしました。
このように少し変わったアイコンで「Q_処理日」という更新クエリが出来ました。
実行するのは単にこのクエリを選択してダブルクリックすれば実行されます。
通常はフォームにボタンを作り何らかの作業をさせて、
最後にこの更新クエリを実行させるというやり方が一般的でしょう。
とりあえず一度やってみますね。
最初に確認のために「T_住所録」を開きます。
そして「処理日」に何も入っていないことを確認して閉じます。
次に「Q_処理日」をダブルクリックします。
表面上は何も変化がありません。
そして再度「T_住所録」を開きます。
処理日に日付が入っています。
これが「更新クエリ」です。
例えば後日新しい住所録を追加したとします。
その時は選択クエリで「処理日」が空白のレコードのみ抽出して
更新クエリを実行すると新しく追加されたレコードだけその日の日付が追加されます。
このようにすると何時処理されたのか履歴が残っていきますし、
処理忘れもなくなってきます。
この「更新クエリ」はうまく使えば非常に便利です。是非覚えておきましょう。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[PR]━┓
高速・多機能・高安定レンタルサーバー『エックスサーバー』
─────────────────────────────────
・月額900円(税抜)から、大容量200GBからの高コストパフォーマンス
・安定のサーバー稼働率99.99%以上
・高速性を重視し、最新20コアCPU(Xeon E5シリーズ)+192GBメモリ
+RAID10を採用!
・幅広いバージョンのPHPやSSHに対応!
・初心者でも安心の24時間365日メールサポート!
─────────────────────────────────
https://px.a8.net/svt/ejp?a8mat=2NR2G3+DG1FLE+CO4+5ZU2B
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛