1 :
名無しさん@そうだ選挙にいこう :
2006/03/17(金) 18:11:37 ACCESSに関する質問はこちらへ!
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★ OS、ACCESSのバージョンを明記してください。
★ 質問内容は具体的に書いてください。
・何がしたいのか
・どんな処理を試したか
・動作状況など駄目な理由
テーブル/フォームの構成、クエリ、VBAの内容など差し支えない
範囲で詳しく書くと、早く回答が得られるかもしれません。
図解があれば尚良し。
聞き返さなくても詳細が把握できる質問が望ましいです。
★ 事前にヘルプ・Google等で調べられる範囲は調べてください。
大概の疑問は検索することで解決します。
★ アドバイスを貰ったら、必ず経過・結果の報告をして下さい。
ギブアンドテイクで情報を共有しましょう。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【 システム環境 . 】 Windows**, Access**
【 VBAが使えるか .】 はい・いいえ
【 VBAでの回答 】 可・否
【 検索キーワード 】 Googleやヘルプでの検索キーワード
前スレ
ACCESS総合相談所 その14 【桐にしとけ】
http://pc8.2ch.net/test/read.cgi/bsoft/1128486351/ 過去スレッド/関連リンクは
>>2 以降
【桐にしとけ】
サブタイ忘れたorz
いや、無くても良いだろ。無いと寂しくはあるが。
7 :
前すれ983 :2006/03/18(土) 00:42:40
クラウンとかカローラとかのお願いをしたものです。 前スレ991さんはじめ、皆さんありがとうございます。 とくに991さん、リロードしないで書き込んでしまってすみません。 テーブルについてなんですが、 さすがに業務用のデータをそのまま流すわけには行かなかったので 仮に車の名前を使わせて頂きました。 混乱させてしまってすみません。 今回アクセスで集計しなければならなくなったのは、 取り扱い品目(例で言うと車種)は3種類で変わらないのですが、 レコードの数(例では店舗の数)が変化します。約2000です。 で、店舗ごとに数字(例で言うと台数)の変化もほとんど(年に一回程度)ありません。 店舗の増減などは特に記録をとる必要はないので、 それらの履歴は必要ありません。 前スレ1000さんのとおり、その辺は別管理していますので。 前スレ985で書いたのも、車種別にクエリを3つ作った有様でして、 集計はもちろん、ひとつのクエリで重複しながら3種類出すような ものも作り方がわかっていません。 教わったことを元にもう少しがんばってみます。 また現れるかと思いますが、 そのときは良しなにお願いします。
8 :
名無しさん@そうだ選挙にいこう :2006/03/18(土) 15:21:22
アクセス初心者なんですが、VBAとSQLどっちがいいのでしょうか? 質問自体おかしいのかもしれませんが… 今後アクセスで色々ツールを作る予定なんですが、 まったくアクセスの知識が無い人用に作ったり 後からある程度自分以外の人でもいじりやすいように作ったりしないとダメです。 エクセルでマクロを作っていましたので、VBAは結構慣れています。
すみませんアクセス練習中なのですが行き詰ったので助言お願いします。 顧客リストの様な物を作ってるのですが テーブルの中に地域と都道府県をドロップダウンで選択出来るようにようと考えてます。 地域はマスタを作り選択できる様にしました 都道府県の選択を「地域フィールド」で選択した結果を反映させて その地域に該当する都道府県からのみ選択出来るようにするにはどうしたらいいのでしょうか? 因みに地域と都道府県の関係は以下の通りです。 北海道 北海道 東北 青森 岩手 宮城 秋田 山形 福島 関東 東京 神奈川 埼玉 千葉 茨城 栃木 群馬 山梨 信越 新潟 長野 北陸 富山 石川 福井 東海 愛知 岐阜 静岡 三重 近畿 大阪 兵庫 京都 滋賀 奈良 和歌山 中国 鳥取 島根 岡山 広島 山口 四国 徳島 香川 愛媛 高知 九州 福岡 佐賀 長崎 熊本 大分 宮崎 鹿児島 沖縄 沖縄 コレが出来たら後日、都道府県を選択すれば自動で該当の地域が入力されるものや 地域のみでの絞り込み検索、都道府県のみでの絞込み検索を作成しようと考えてます。
>>10 ありがとう御座います
じっくり勉強してきます
料理初心者なんですが、包丁と鍋どっちがいいのでしょうか? 質問自体おかしいのかもしれませんが…
>>13 包丁に結構慣れているのなら、包丁をお使いください。
推測 アクションクエリExecuteとVBAでレコードセット開くのはどちらが・・・ 回答 場面に応じてどっちも使え
外の人に聞くとイイ
仕様書しっかり書けばいいだけじゃ……
改行されたセルを含むExcelのデータをインポートしたあとに、 改行コードをAccessのものに変換する方法がわかりません。 どなたかご教授お願いできないでしょうか。
>>18 VBAで改行コードを変換してからインポート
インポートした後に、&H10 を &H13 + &H10 に変換。 まずテンプレ嫁。せめてバージョンくらい書けよ。
21 :
20 :2006/03/20(月) 12:50:03
×&H10 を &H13 + &H10 ○10 を 13 & 10、もしくは vbLf を vbCrLf
22 :
18 :2006/03/20(月) 15:16:42
↓で自己解決しました。スレ汚し失礼しました。 Rs!フィールド01 = Replace(Rs!フィールド01, Chr(10), Chr(13) & Chr(10))
それじゃレコード変わるのでは
24 :
名無しさん@そうだ選挙にいこう :2006/03/23(木) 15:20:31
まだいぢりはじめて1週間の初心者です。 VBAも初めてです(エクセルでも未経験)。 どうしてもわからない宿題の件でお尋ねします。 Win2000SP2でaccess2000です。 入力フォームを作成していて、項目(テキストボックス)が5つあります。 変更・追加の際に自動的に[変更日テキストボックス]に今日の日付が入るようにしました。 Private Sub [氏名テキストボックス]_AfterUpdate [変更日テキストボックス]=Date() End Sub これを5項目分全て作成して、正常に動いていました。 が、「フォーム単位でやってみて」との指令が下り、 1行目を Private Sub Form_AfterUpdate に変えてみましたが、入力は出来るものの、 次のレコードに移動できなくなってしまいました。 フォームを閉じてテーブルを見ると、更新日が入力されています。 今、必死でネットの講座や本を立ち読みしまくっていますが、 どうしてこれで動かないのかわかりません。 どなたかご教授願います。
死ねば?
>>24 その処理だと
Form_BeforeUpdate イベントで Dirty プロパティが False に変わるけど
その後の Form_AfterUpdate イベントでまた True に戻ってる
Form_BeforeUpdate に置き換えてみたら?
ちょっとクソったれだね。
>>25 の言い分がわかる。初心者が免罪符にはならならい。
どうせまた釣りだろ
29 :
24 :2006/03/24(金) 11:41:41
>>26 BeforeUpdateで出来ました。ありがとうございました。
どうしても2行目の方にばかり目が行ってしまって。
次からは何かあったら他の部分も疑うことにします。
初心者過ぎるアホな質問だろうから、
いろいろ言われる事は覚悟して書き込みました。
その他の方、気分を害してしまってすみませんでした。
初心者ですって書き込みはアレかと思うけど、そこまで叩くほどのもんでもなくね? 質問スレで質問しにくい空気にしてどうすのとか思うけど。
1.初心者 2.宿題 3.ぢ 4.教授 この四つ満たしたら簡単に釣れますね
32 :
名無しさん@そうだ選挙にいこう :2006/03/24(金) 22:03:12
ばりばりに使いこなせて飯が食えるような一でも 最初は右も左もわからん初心者だったはずだしな。
>>30 そうか?
イベントを深く理解しろとまではいわないが、少しはヘルプ見て
勉強しろよって思うレベルだと思うけど。
だって、After〜だよ。同一レコードに変更日のフィールドがあっ
て、変更があったら更新するんだからBefore〜って素直に考え
つくだろうよ。
>>30 初心者ですっていっとけば
何も調べず質問しても許されると考えるのが問題で
そこをつっこまれてるんだよ
教えて君に答えて助長させると世の中のためにならんよ
やさしくするのもいいが、考えてからにしたほうがいいよ
宿題は自分でやれ
本屋に行くとACCESSの入門書みたいなのはいっぱいあります。 またVBAやマクロを使う上級編みたいなのも結構あります。 しかしその中間くらい、概要はだいたいわかったけどマクロ使う程でもない、 くらいの人に調度良い本ってないですかね? 先週くらいから仕事で必要に迫られて勉強してるのですが、購入した入門書に 書いてある事だけではやりたい事が出来ないみたいだし、かと言って上級編の 本を読んだら理解できない部分が多かったものでして。
>購入した入門書に書いてある事だけではやりたい事が出来ないみたいだし、 どんなことをやりたいの? 普通は入門書で出来ないことはマクロを使わないと出来ないんで・・・
受注を入力してそれを定型伝票に印刷したいのですが、 伝票1枚につき明細は6件までしか出ないようにする方法と、 伝票に連番の伝票番号を出したいのです。
あ、なんか日本語が変ですね。 6件しか出ないようにする方法と、連番の伝票番号を印字する方法が知りたいのです。 ただ、この件だけじゃなく先々もっと知識が必要になるだろうと思い、入門書よりは ちょっと上級、くらいの解説書が欲しいなと思いまして。
応用力がないひとが増えてきましたね
SELECT TOP 6
たぶん
>>42 さんのが6件づつってのを実現する方法なのかな?
手持ちの入門書(インプレスのできるACCESSって奴です)だと、そういう
マクロの記述形式?は載ってなくて、GUIで操作する部分しか解説が無いんですよ。
そこで本屋で別の本を買ってこようかと思ったのですが、一通り立ち読みしてみた限りだと
入門書の類は手持ちの本と大同小異だし、マクロについて解説してる本だとある程度は
マクロを理解してることを前提にしてるような本ばかりだったので。
もちろん大きな本屋に行けばもっと色々あるのでしょうが、地方故に品揃えが少なく、
本屋で実際に見て選んで買うというのが難しいのです。
そこで、良い本があればAmazonあたりで注文してようかと思った次第です。
どれも入門書レベルだな 本じゃなくてもヘルプを熟読すれば十分
とりあえずさ、AccessでマクロとVBA混同するの止めてくれ。
43はいいわけばっかりで 努力を放棄してるようにしか見えない
>>45 すいません、なにしろその辺の区別がつかないレベルなんで・・・
>>46 努力する気はあるのですが何処から手をつけたらいいのかわからないのです。
「それも自分で調べろ」と言われると返す言葉もありませんが。
普通に書店にいって 索引でsecectを探して 見比べて分かりやすい本を買ってくればいい
私が薦める本があなたに分かりやすいとは限らないので、 面倒でも自分で見比べてみるしかないと思います
桐にしとけば良いでしょ
>>48-49 そうしたいのはやまやまなんですが、出張行った時くらいしか大きな書店に
行く機会が無いんですよ・・・
>>50 ありがとうございます。
確かに
>>49 さんが言う通り、もしかしたらその本も私には分かりにくいかもしれませんが、
とりあえずそれ買ってみることにします。
>52 片端からネットの本屋(Amazonとかイーブックス)でAccessの 本を検索して良さ気なのを買えば良いんじゃない? 漏れは金の無駄になろうがなんだろうが、周辺の本屋に Accessの本なんてほとんどないからそうやって体当たりで 買ったけどな… 本買うのが嫌なら、ネットの検索を上手く使えばほとんどの 問題が解決できると思うけど…金出すか自分で検索して 出たヒントを考えて知恵を絞るしかないだろうな
>>52 他スレで障害者で書店に行けないって人もいたけど
それならぐぐって調べるか、いくつも買うしかないと思われ
掲示板でお勧め聞いても無駄で、まわりにとっても迷惑だし・・・
>>52 『プログラミング Microsoft ADO.NET』
【著 者】 David Sceppa
【訳者】 (株)日本ユニテック
【判 型】 B5変
【ページ数】 700
【発売日】 2002/11/25
【DISK】 CD-ROM
【出版会社】 日経BPソフトプレス
【ISBN】 4-89100-317-0
【価 格】 ¥7,140 (税込み)
【種 別】 デベロッパー
【シリーズ】 プログラミング
>>55 それは違うと思うし、マクロ・VBAの区別が???の方には
敷居が高いと思うが。
早速釣られているな
58 :
名無しさん@そうだ選挙にいこう :2006/03/27(月) 20:09:07
ACCESS2000使ってます レポートの出力を 商品名 数量 AAAA 2 BBBB 5 ・ ・ ・ ・ ・ ・ こんな感じで出しているのですが、 1枚のページに入りきらない場合に 商品名 数量 商品名 数量 AAAA 2 OOOO 6 BBBB 5 PPPP 8 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ こんな感じで2列に出力したい場合 どうすればいいのでしょうか? 当方、素人なので、やり方が難しいならあきらめますが、 ヒントでもお願いします。
レポートなわけだが ページ設定で列数2にして印刷方向左から右へ
>>58 プリンタの設定で、縮小印刷1ページに2ページ分を印刷
62 :
名無しさん@そうだ選挙にいこう :2006/03/27(月) 21:11:02
分かる人いませんか?
ここの連中は的外れな解答しか出来ないから・・・
64 :
58 :2006/03/27(月) 21:27:33
アドバイス貰って礼も言えない奴は、桐にしとけよな
66 :
名無しさん@そうだ選挙にいこう :2006/03/27(月) 23:47:30
>>59-65 みなさんどうもありがとうございます。
>>60 さんの方法でやってみると上手くいきそうです。
ただ、後出しみたいで申し訳ないんですが、
ヘッダーの所にA4の横幅いっぱいまでいろいろ書いているので
レイアウトで幅の調整がききません・・・
何か簡単な方法あります?
67 :
65 :2006/03/28(火) 00:02:26
>>66 アホ!!早く言えよ。
ダミーのテーブル、商品名1, 数量1, 商品名2, 数量2を作って、クエリかVBAで
元データから2列になるよう↑にデータをぶち込め。
それが嫌なら、ヘッダー幅目一杯使用をやめなさい。
68 :
名無しさん@そうだ選挙にいこう :2006/03/28(火) 00:08:58
上記、自己解決できそうです! さっき、風呂の中で名案が浮かびました。 またお邪魔するかもしれませんが、その時はよろしくです。 ピタゴラスの気持ちが少し解りました。
69 :
名無しさん@そうだ選挙にいこう :2006/03/28(火) 00:11:14
と思ったら
>>67 さん即レスありがとうございます。
参考にします。
なんだかんだいってお前ら優しいな 68が事故解決したら やり方を書いてくれるかかけないか?
書かない
単純に2列にすればいいなら59-61で十分だとおもうけど 一部分だけのやり方なら書いて欲しいかな >さっき、風呂の中で名案が浮かびました。 こう書いてるってことは違うのかな
ユー、Printメソッド使っちゃいなよ
SQLの文字とか グリッドの文字とか 小さくて見えないよ (っ´ロ`)うぇーん
モニタの解像度下げれ
>>75 それじゃ画面が少ししかつかえないよ ヽ(´Д`;)ノ
サクラエディタとか、なんちゃらCOBOLとか
なんちゃらウォーカーとか、なんちゃらLinda とか
たくさんたくさん使わなきゃならんのに ・゜・(ノД`)・゜・。
検索・ヘルプ等を見ても答えがなかったので質問させてください
エラー処理を作成してるのですが思ったとおりに動作してくれません
やりたいこととしては、インプットボックスにカタカナ1文字を入力し
それをもとにテーブルのあるフィールドから一致するものを探す
一致するものが存在すればそれをメッセージボックスで
なければエラー処理へ飛ばす
というような感じになっています
しかし、一致したものが存在しててもエラー処理へ飛ぶようになっているのが現状です
コード等細かいものはテキストにまとめました
わかる方がいらっしゃいましたら教えてください
ttp://www.uploda.org/uporg348680.txt.html 一応うpファイルにはメ欄のパスワードが設定してあります
↑のテキストですがLikeの前に=が入ってますがそれは気にしなくていいです 間違えて押したみたいで現在はきちんと消してあります
79 :
名無しさん@そうだ選挙にいこう :2006/03/28(火) 10:59:02
【 システム環境 . 】 WindowsXP, Access2000 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 可 【 検索キーワード 】 Access MDB レポート サーバープロパティ 変わる AccessMDBでのレポートのページ設定での質問です。 プリンタのサーバプロパティで連帳の用紙を保存してるのですが、 開くたびに違う用紙設定に変わってしまい、印字がずれたりしてしまいます。 MDEだと用紙の設定が変わってしまうのは知ってるのですが、 MDBでもなってしまって困ってます。 MDBで用紙設定が変わる原因て何かありますか? よろしくお願いします。
>>78 Like の前の「=」を消したところで、結局これだろ。
ds.Filter = "[フリガナ] Like ' " & ret & "*' "
先頭にスペース 2 文字入ってるデータしか対象にならんな。
あと、有無を知るだけなら、わざわざ Recordset 自前で開かなくても
DCount とか DLookup で済みそうなもんだが。
>>80 載ってる本のとおりにしてきちんと確認しなかった自分も自分ですね・・・
そんな些細なことにも気づかないとは
これで何とか先に進めそうです
ありがとうございました
82 :
名無しさん@そうだ選挙にいこう :2006/03/28(火) 11:41:23
タブ区切りのテキストファイルをaccessで開くとテキストファイルにリンクしてる形になってた。 accessにテキストデータを埋め込んでやりたいんだけど 何をどうしたらいいのか教えて下さい。
85 :
79 :2006/03/28(火) 18:50:45
>84 ご回答ありがとうございます! こんなことがあるんですね^^; とても助かりました!(^-^)
>>72 オマエは、ヘッダー部分を用紙目一杯使ってるという後出しを
読んでないのか!!
レポートで死亡するくらいなら桐にしとけよ
桐を買うくらいならActiveXでExcel出力するわ
Excel印刷で足りるくらいなら何でも無問題 足りないなら、桐の一覧表印刷 もっと本格的なの必要なら、桐のレポート
90 :
名無しさん@そうだ選挙にいこう :2006/03/29(水) 08:45:49
擦れ違いだが、確かに霧の一覧表印刷はエクセル印刷を凌駕している。 霧のレポートなんてアクセウ使いの垂涎の的だなぁ。
フリーソフトになったら考えるよ('A`)
92 :
名無しさん@そうだ選挙にいこう :2006/03/29(水) 15:14:53
質問なんですけど 非連結のテキストボックスで入力文字数制限を行いたいんですけど、 入力規則プロパティをつかった、Len([テキストボックス])>15 だと、エラーメッセージが出てしまいます。 イメージとしては、入力可能数以上の文字は入力しても入らない様にしたいのですが 何かいい方法ありませんか?出来るだけモジュールは使いたくないです。 よろしくお願いします。
>>92 ヘルプ読め。
頭の悪い回答としては
Like "?????" Or Like "????" Or Like "???" Or Like "??" Or Like "?"
VBAでやる方が良いと思うけど、「使いたくない」じゃなく「使えない」だったら無理だな。
こんばんは
>>58 です
入浴中に浮かんだ名案で解決できました!
詳細のセクションを無視してフッターのところに
サブレポートを貼り付け、そこで2列に出力。
皆さんに言わせれば名案というより、迷案とか邪道とかなんでしょうねwww
まぁ思いどうりに出力できれば無問題とゆーことで・・・
皆さんどうもありがとう。 特に
>>60 さん
>>94 複数ページになった時、サブレポートは制御不能に近い状態になる
し、処理速度も大幅減。それを考慮した上でOKなら、他人のオレは
何も言わん。
>>92 定型入力で良くないか?
オレは、VBA使ったけどな。
VBA使わないのは何故なんだろうな。常人には理解できない深遠な理由があるに違いない。
>入浴中に浮かんだ名案で解決できました! これ何カ所かでみたんだけど 全部同じ人?
バイパ?
バイパ?
101 :
名無しさん@そうだ選挙にいこう :2006/03/30(木) 00:15:01
アクセスってそんなに信用置けないデータベースなんでしょうか? 今、伝票番号が100000くらいなんですが、どのくらいのデータ量まではエラーなしで行けるもんなのか気になっています。 会計ソフトの様式(ページ先頭行の最初には*を打つ)で出力させる必要があるのですが、 メモリが512MBの頃は怠けて5000行くらいを一度に処理してみたら、 ずれまくった位置に*を打ってました。 当時は処理済データを元に戻せないやり方をしていた為、泣きながら手書き修正した記憶が・・w 1GB積めばエラー起こさないんですよね。 警告くらいして欲しいもんです。 見切りを付けてプロに頼むべきな頃合なのかもしれませんけど、 アクセス95の頃から10年くらいバージョンアップを重ねたデータベースで自社業務には最適な上、 いくらでも自分好みに改変可能とあって、今一踏み切れません。
>>101 >1GB積めばエラー起こさないんですよね。
メモリ量は関係ないよ
256MBで100万〜200万レコードを扱ってるが
まだエラーは出たことがない
>当時は処理済データを元に戻せないやり方をしていた為、泣きながら手書き修正した記憶が・・w
どんなPC環境でもあり得るんだから危機管理が足りないだけ
バイパってなに?
エラー= 失敗 とか、データ異常 とか、とにかくそんな意味です。 エラーコードのあるエラーが出るというわけではないです。 すみません。
規模にもよるけど windows上でデータベースを扱ってる時点で信用はされない
>256MBで100万〜200万レコードを扱ってるが まだエラーは出たことがない おお、心強い。 今、手元にないんで適当ですが、 クエリで抽出した後、MOVE系の命令でループさせて処理させてます。 たぶん、同様な処理はそちらでもされているでしょうから、 特別に重い負荷がかかる様な組み方をしてるんでしょう。 行数も短いし、変わった事をやってるつもりはないんですけどねぇ。 >当時は処理済データを元に戻せないやり方をしていた為、泣きながら手書き修正した記憶が・・w どんなPC環境でもあり得るんだから危機管理が足りないだけ あなたは絶対ミスをされないんでしょうねw
>あなたは絶対ミスをされないんでしょうねw 逆では? 人為的なミスもあれば停電もあるし バックアップとかエラー対策はしとくべきだとおもうよ
>あなたは絶対ミスをされないんでしょうねw こんな低脳な煽りする奴の書くコードだからエラー出るんだろうな
>>107 正解です
あれだけじゃ言葉足らずだったんですねTT
110 :
106 :2006/03/30(木) 00:47:53
ああ、ゴメンゴメン。 謝るから、そんなに言わないでくれ。 俺だって、ただカチンときただけの話だよ。 確かに、自分のミスは102のせいじゃないからね。
不自由な日本語はチラシの裏にでも書いてろ
最近の子は読解力がないから 一から十まで説明しないと^^; 前後で文意が変わってるのも原因
113 :
106 :2006/03/30(木) 00:50:37
なんで、そんなに怒るの?
>>105 データはサーバに送って
クライアントはwindowsの会社は多いよ
115 :
106 :2006/03/30(木) 01:05:28
>バックアップとかエラー対策はしとくべきだとおもうよ その通りです。 処理前には必ずバックアップとってたのが、 毎回なんにも起きないんで、まぁいっかと、なめてた私が悪いんです。 それからずっと、何かあるんじゃないかと気持ち悪くてね。 うちの会社レベルでは、WINDOWSはずっと使い続けるんだし、 そのまま行くしかないんでしょう。 勉強したって、会計ソフトまで自作出来るわけもなし。 >>データはサーバに送って クライアントはwindowsの会社は多いよ サーバですか、そちらは知人に聞いてみます。 零細企業では関係ないと思ってたけど。 ええ、どうにも素人で申し訳ありませんw
個人情報の流出事件の多さを見ても ちゃんと管理してる会社は少ないのかもね 素人なのはしょうがないが そんな素人に仕事を任す会社は何も考えてないんだろうな
エラーの続きで印字位置がずれまくった話になっているが、それは Accessやメモリの問題ではないだろう。
【 システム環境 . 】 Windows2000, Access2003 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 否 【 検索キーワード 】 NA ひとつの選択クエリに、色々な摘出条件を入れ替え、 実行を何十回も繰り返すと、 検索結果無しで戻ってきます。 一度クエリをクローズして、再びクエリを立ち上げると、 きちんと検索結果を返してきます。 一体何が原因なんでしょう?
>>118 そういうことはあんまりやったことないからあっているかは解らないけど、
結果的に「絞り込み抽出」してしまっているんではないだろうか。
それを防ぐために、RequeryなんていうのがVBAだとあるね。
>>119 VBA扱ってないんで、現象起こった時点(又、は直前)
に{Shift}+{F9}でも「Requery」と同等の効果をえられますか?
>>120 そのショートカットキーがRequeryそのものだが、まずは説明が足りない気が
するぞ。手作業で抽出条件を入れ替えて実行結果の表示を繰り返してるなら、
検索結果無しになる状況はたった一つ。抽出条件で絞り込んだ結果該当レ
コードがない。
クエリをクローズして・・・何度も変えた抽出条件はどうした?最後の設定で保
存するのか、それとも保存せずにただ閉じるだけなのか。
>>121 すみません、後出しになるかも知れませんが、説明追加します。
フィールドが、7つ>
ID、氏名、TEL、住所1(都道府県)、住所2(市区町村)
住所3(町名番号)、納品NO
EXCELワークシート上に、「江戸川区」「江東区」など120個ほど
書き込んでおき、
セルを1つ選択してコピー>accsessに移って、住所2の、抽出条件に貼り付け>クエリ実行
という作業を延々くり返すので、手作業だと思います。
桐 に し と け
>>122 ほぼ、「抽出条件で絞り込んだ結果該当レ コードがない。」だろ。
で、クローズする時の説明がないんだが。一挙に説明しろよ、へ
たれ。
だな
何十回も繰り返し、例えば 「荒川区」をペーストして実行すると、しばらく経って、 何も抽出されず終了します。 クエリを設定の変更無しでクローズし、あらためて選択クエリに戻り、 抽出条件を「荒川区」にして実行すると、 実行結果が返されます。
130 :
121 :2006/04/02(日) 00:44:42
>>126 やっと状況が全部出たな。用語をしっかり覚えてないらしく、ちょっ
と解釈しづらいがな。
まずは、SQLビューに切り替えてWHEREをチェックしてみなよ。
念のため、MDBの修復・最適化もやってみれば。でも、状況的に
はやっぱり、「抽出条件で絞り込んだ結果該当レ コードがない。」
だと思うんだが・・・。
そろそろ寝るから、RESしてくれてもオレからのRESは明日になるが、
結構このスレ心優しい人が多いからアドバイスしてくれるかもよ。
>>130 ありがとうございます。
参考にさせて下さい。
勉強してきます。
んなもんいらん
134 :
名無しさん@そうだ選挙にいこう :2006/04/05(水) 09:18:50
【 システム環境 . 】 WindowsXP Pro., Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 過去ログなどを検索しても該当の不具合などが確認できなかったので、ご存知の方助けてくださいm(_ _)m ActiveXコントロール(Microsoft BarCode Control 9.0)を配置したレポートで、 JAN13桁バーコードをA4用紙に3×10=30枚出力できるようなレポートを使ってます。 で、複数ページに渡るような大量のバーコードを出力しようと、レポート画面下の移動ボタン を使ってページ数を確認しようとすると、総ページ数がちゃんと表示されなくて、さらに実際 に印刷出力しようとしても延々と出力を続けてしまうのです。 一ページずつ送ってレイアウトを確認すると、ちゃんと10ページまでで総ページカウントは 終わってくれるのですが・・・。 |< < > >| ←このボタンを押して最後尾のページを表示させようとすると、 ページ番号表示は変わらないままで実際に印字すべき枚数よりも多くページレイアウトされてしまう。 こんな事象って何とか回避することできないでしょうか?
Microsoft BarCode Control のバグです。 バーコードを扱う方は、桐にしといて下さい。 はい、次の方どうぞ
俺の理解力不足かな >>JAN13桁バーコードをA4用紙に3×10=30枚出力できるような ここがすでに難しい >>ちゃんと10ページまで この文章と合わせて考えると、1ページに3つのバーコードってことになるんだろうか ずいぶん余白がデカくならないか、それともバーコード自体かなりデカくとってあるのか いま自分の手元にあるレポートでは、A4紙1ページあたり3×12=36個並べてるぞ 安物のスキャナで読みとれるバーコードの大きさ考えたら、そんなもんじゃないのか いや大きなお世話か 1ページに3つのバーコード、だとして その3つってのは、同じバーコード3つなのか、3種類のバーコードなのか 元になってるテーブル or クエリの構造と合わせて解説してみるといい鴨 ただこれは、バーコードコントロールの問題ではなく、レポートの使い方の問題ではないか という気がしてならないんだが
138 :
名無しさん@そうだ選挙にいこう :2006/04/06(木) 09:56:10
>>136 ・137
文章が支離滅裂になってしまってスマソでした。
137のおっしゃるとおり、1ページに30枚出力する、タックシールのようなフォーマットと
お考えください。
で、仮に同じJANコードを300枚出力させようとすると(ここが抜けてました)、
本来は30枚1シート×10ページ印刷されるはずなのですが、最後頁への移動ボタンを押すと
表示されてる頁数は”1”のままで、しかもそのあとは普通に移動ボタンを押しても10ページ以上の
カウントを延々と続けてしまうのです。
おそらくページフォーマット動作への影響かとは思うのですが、やはり135の
おっしゃるようにバグとして諦めないとだめなんでしょうか・・・シクシク(;´Д`)
VBA を使っているんなら、コードを全部はずしてみればいい。 VBA 抜きで再現するなら壊れているかバグかどっちかだろうし、 VBA 抜きで再現しないんならコードがタコなだけだろう。 そもそも VBA 一切使ってない話なら、スルーでよろ。
140 :
名無しさん@そうだ選挙にいこう :2006/04/07(金) 00:27:21
そういうことであるならば ページなんて考えが出てくるのは変じゃないか 30個並べたものをぺらっと一枚つくって dim i as integer for i=1 to 10 DoCmd.OpenReport "Rp_JANCODE", acNormal next i な感じで10回印刷すればいいんじゃないのか 何か俺また勘違いしてるか?
ごめ、意味もなくあげちまった
一方、露西亜はコピー機を使った
10のi乗って、式ではどう書くんですか?
見つけた、たぶんこれですね 10 ^ i すみませんでした
>>138 そんなことで悩むのだったら、
素直にテーブルでも作ってそれをコントロールソースにしてしまえば?
フォームから操作するんだろうから、バーコード化する数値入れるテキストボックスと
枚数を入れるテキストボックス、あとは実行ボタンぐらいあればOK?
差分クエリーを作って差分一覧表を印刷しているのですが、 (部屋予約テーブルの当初作成分バックアップと最新の比較をして部屋が変わっていたら表示) 初めて差分が出た日を常に表示したいのですが、いいアイデアないでしょうか? 予約日付と部屋番号をキーにしたテーブルを作ってクエリー実行時に差分の発生日を取っておく くらいしか思いつかないのですが、既にキー値が存在したらそのままで 無かったら追加ってやっぱりVBAで組むしかないですかね?(VBAはある程度書けます)
>>146 今ひとつ理解できない。
部屋が変わるってどういうこと?
要は、部屋の予約管理でしょ。
フラグで管理じゃ駄目なの?
複雑な処理が必要になったときはまず設計から見直した方が良かったりする
149 :
名無しさん@そうだ選挙にいこう :2006/04/11(火) 21:14:48
集計クエリってフィールドのデータ型が数値じゃないとだめ?
clng cint
151 :
149 :2006/04/11(火) 22:13:56
>150 長整数型と整数型?トンクス!
>>149 レコード数のカウントなら数値じゃなくても良い。
ってか、いきなり「集計クエリって・・・」と質問されても、どういう集計したいか
わからんからな。
153 :
名無しさん@そうだ選挙にいこう :2006/04/12(水) 19:14:04
【 システム環境】 WindowsXP Pro. Access2000 【 VBAが使えるか】 はい 【 VBAでの回答】 可 【 検索キーワード】画像、取り込み、OLE、連番、リンク・・・ あるフォルダに、"001.jpg"から"999.jpg"まで画像ファイルがあるとします。 (例えば名詞や、履歴書など) これを、accessかexcelで管理しようと思っています。 accessのOLE形として取り込めれば良いのですが、1レコード毎に手作業でOLEオブジェクトとして取り込むのは大変です。 一括で取り込む方法は無いでしょうか? 上手な検索のキーワードや、フリーで公開されているaccessファイルをご存知でしたら教えてください。
>>153 パスの取得じゃ駄目?
正直、mdbが肥大化するからお勧めしない。
ACCESS2000は2GBまでだから
1画像2MBならば、1000件未満しか登録できないよ。
>>153 仮のフォームを作り、連結OLEのコントロールを配置してそこに取り込む
(コピペでも良かった気がする)VBAを作れば一括で取り込める。
>>154 がいうように埋め込みはお勧めしないので、パスをDB保存してお
くだけでいいと思うが、仕様的にそれでは対応できないのならOLEとして
VBAで取り込みロジック作ってみたら。
>>153 顧客リストみたいなForm1上の、テキストボックスとかボタンとか、
何か適当なコントロールをクリックすると、
画像を表示するためのForm2が開く、という形を考えてみる
Form1上のボタンをクリックしたときのイベント
これは、DoCmd.OpenForm "Form2" だけでいいかも
で、Form2のオープン時イベント
いや、その前にForm2にはイメージコントロールを貼りつけておく必要があるか
(ツールボックスから Microsoft Forms 2.0 Image)
名前はまあImg1でいいとして
Private Sub Form_Open(Cancel As Integer)
Dim MyPath As String
MyPath = "画像フォルダパス\" & Forms![Form1]![画像名] & ".jpeg"
Me!Img1.Picture = LoadPicture(MyPath)
End Sub
これでダメだというならあとはもう知らない
157 :
135 :2006/04/13(木) 06:48:28
ありがとうございます。 パスの取得だけでもかまいません。 テキストボックスにパスが書かれてあり、その横のボタンを押すと画像が表示される、 というような形がベストです。 教えていただいた方法を参考にさっそく作ってみます。またご報告にきます。
158 :
名無しさん@そうだ選挙にいこう :2006/04/13(木) 09:21:51
あんたは135だったのかと(ry
160 :
名無しさん@そうだ選挙にいこう :2006/04/15(土) 21:19:43
アクセスってエクセルの表コピペできないの? 会社で初めて触ったら出来なかった。
アホが沸いた
163 :
名無しさん@そうだ選挙にいこう :2006/04/15(土) 21:28:51
アクセスの表はエクセルにコピペできるのに 反対が出来ないなんておかしいよね。
どう見ても釣りです。本当にありがとうございました。
166 :
名無しさん@そうだ選挙にいこう :2006/04/16(日) 00:43:45
【 システム環境】 WindowsXP Pro. Access2000 【 VBAが使えるか】 いいえ 【 VBAでの回答】 可 【 検索キーワード】フォーム 計算 count 条件 元になるテーブル「商品マスター」があり、現在レコード数が50000件くらいあります。 その商品マスターの商品IDをカウントする形で下のような一覧が出るフォームを作りたいと思っています。 納品点数_____A店 ○○点 | |___B店 ○○点 | |___C店 ○○点 未納品在庫点数_____○○点 A店のみの納品点数を表示するのは、「納品先=A店」「販売日=Is Null」 のような抽出条件でクエリからフォームを作れば簡単にできますが 同時にB店・C店・未納品在庫と表示するにはどのような方法があるでしょうか?
商品マスタのフィールドがどうなっているか分からないがDcountでいいじゃん。
>>166 クエリ4つ作ればいいんじゃないの?
質問の意味がよくわからんけど
初心者にありがちなフォームのレコードソースでしか値取得できないってやつだろう
170 :
166 :2006/04/16(日) 12:32:59
Dcount関数でできそうです! あざーす!!!
171 :
166 :2006/04/16(日) 15:09:59
しかしDcountって便利っすね。
この関数教えてもらえただけでやれることの幅がすごく広がりそうです。
>>169 さんが言ってるのも、こういう値取得の仕方があるってことですよね?
とにかくどうもでした!!
それに頼りすぎると、SQLが使えなくなる・・・処理速度が 低下する。
173 :
名無しさん@そうだ選挙にいこう :2006/04/16(日) 23:38:59
【 システム環境】 WindowsXP Pro. Access2000 【 VBAが使えるか】 いいえ 【 VBAでの回答】 否 単票なり帳票イメージのフォームのレコードソースを動的に扱いたいんですが 何か良い方法はありますでしょうか? たとえば顧客テーブルと売り上げテーブルから直近1ヶ月に受注があった顧客(受注クエリ)と なかった顧客(未受注クエリ)を作ったとします。 このそれぞれの結果をフォームで表示させる。 今現在、同じフォーマットのフォームを2つ作りそれぞれのレコードソースを 受注クエリ、未受注クエリに設定して、メニューフォームから受注ボタン、未受注ボタン等で 振り分けフォームを開いております。 これを受注ボタンが押されたらレコードソースを受注クエリ、未受注ボタンが押されたら 未受注クエリに設定する等で1つのフォームで対応することは可能でしょうか?
>>173 【 VBAが使えるか】 いいえ
【 VBAでの回答】 否
じゃ、無理。
175 :
173 :2006/04/16(日) 23:51:00
>>174 即レスどうもです。
てことはVBAを使えばレコードソースを変数等で制御出来るんですね?
勉強してみます。
>>175 勉強する気あるなら最初からVBAでの回答可にしておけば良いのに……。
ちなみに
Me.RecordSource = "クエリ名"
と一文記述だけで済む。
OS : XP sp2 Access Ver. : 2002 VBA : 可 CustmerCD ItemCD ItemQua 0000001 00001 2 0000001 00002 1 0000002 00001 1 0000003 00001 2 0000003 00002 1 ・ ・ ・ このようなデータがあり、出荷単位ごとの集計を取りたいのですが 普通はどのようにするのでしょうか。 上記の例では、CustmerCDが0000001と0000003は同じ内容なので 2となります。 やり方が思いつかなかったので、上記データをCustmerCD毎にレコード化し CustmerCD、ItemCD、ItemQuaを文字列として連結してそのレコード数を カウントしようとしたのですが実行中に2GBの壁にぶつかりました(件数を減らせば動く)。 ちなみに、上記データはリンクテーブルで約100万レコード。 CustmerCD毎のレコード化にすると25万レコード程度になります。 容量的にも50MB程度で収まります(一応、同条件で動くものはできています)。
178 :
177 :2006/04/21(金) 01:28:14
書き忘れがありました。 1CustmerCDは最大10レコードです。 つまり、ItemCDは1顧客につき10種類までということです。
>>177 CustmerCDが0000001と0000003は同じ内容なので
2となります。
の意味がわからない。2件ずつあるし、その後の文章で文字列として
連結してって・・・。出荷単位にあたるのが、どれかもわからんし。
んでさ、レコード化って。グループ化じゃねぇの?
いいように解釈してあげようと、何度読み返してもやっぱりわからねぇ。
180 :
177 :2006/04/21(金) 01:55:17
>>179 CustmerCDが0000001と0000003は双方とも
ItemCD ItemQua
00001 2
00002 1
ですよね。
出荷単位とは出荷内容のことです。
0000001と0000003の出荷内容が同じなので2ということです
(なんで出荷内容という言葉が浮かばなかったんだろう)。
それでレコード化というのはまさに言葉どおりで
テーブルにCustmerCD毎のレコードを書き込んでいるからです。
CustmerCD ItemCD1 ItemQua1 temCD2 ItemQua2 ・・・ temCD10 ItemQua10
こんなイメージのテーブル構造。
文字列として連結というのは、CustmerCDが0000001と0000003の例で言うと
ItemCD & ItemQuaとすると
000012000021
という風になるじゃないですか。
これをカウントすればいいかと思ったのです。
何となく、分かった気はする
しかし、いいのか?
本当にそれでいいのか?
>>ItemCDは1顧客につき10種類までということです
こんなんで本当に商売になるのか?
だったら
>>CustmerCD ItemCD1 ItemQua1 temCD2 ItemQua2 ・・・ temCD10 ItemQua10
のテーブルつくって、元テーブルをレコードセットで開いて放り込めば、あとは
>>179 の言うとおり「グループ化」で実現できるはず
「グループ化」して、しかるのちに「カウント」だ
しかし文字列連結ってのは面白杉にもほどがあるぞ
何年も前、俺もそんなやり方を考えたことがある
182 :
177 :2006/04/21(金) 02:43:43
>>181 おっしゃるとおり、なんかおかしいと思ったので
お聞きしました。
確かに文字列連結は不要でした。
でも、やはりCustmerCD毎のレコード化は避けられないのですね。
ほかによい方法がないかと思ったのですが。
>>ItemCDは1顧客につき10種類までということです
こんなんで本当に商売になるのか?
枝番も持っていますので大丈夫です。
実は生のデータは固定長で
>>CustmerCD ItemCD1 ItemQua1 temCD2 ItemQua2 ・・・ temCD10 ItemQua10
の形なんです。
それを突然上司が過去の出荷内容データがほしいと言い出しまして…
過去のデータなんてありませんし、思いついたのが分解したデータを
元の形に戻すことだったんです。
まだ解決しているわけではありませんが、179氏、181氏、ありがとうございました。
Access2003 ロギング処理を実現したいのですが、簡単に実現する方法はありますか? また、Access2000でも実現できますか?
>簡単に 無い
初めて目にする言葉ですが>(・ε・)
188 :
186 :2006/04/22(土) 10:32:54
>>187 ははは。ありがとう。意味は知ってるよ。
Accessでって言うから、言葉間違ってるのか・正しいなら何をロギングし
たいのか聞きたかったのさ。ゴメンよ、言葉足らずで。
確かに何のログを取りたいのかサッパリだな
190 :
名無しさん@そうだ選挙にいこう :2006/04/24(月) 15:37:59
XPでACCESS2003を使っている初心者です。 漫画データ入力フォームの作成をしているのですが、 テーブルは作者名のテーブルとメインテーブルがあります。 「メインテーブルの作者名」と「作者名テーブルの作者名」をリレーションで結んでいます。 漫画データ入力フォームでは、作者名の欄は入力ではなくリスト選ぶ形にしています。 でも、新しく作者名を追加したくなりました。 今までは作者名テーブルに直接追加していたのですが、 漫画データ入力フォームから追加するにはどうしたらよいのでしょうか? 今の状態だと、リストにない作者名を入力すると、リストにありませんのようなエラーメッセージが出ます。 リストから選ぶ形式を残したまま、そのリストにない作者名を追加するにはどうすればいいのでしょうか?
【 システム環境 . 】 Windows**, Access** 【 VBAが使えるか .】 はい・いいえ←←←←←←←←←← 【 VBAでの回答 】 可・否←←←←←←←←←←←←←←← 【 検索キーワード 】 Googleやヘルプでの検索キーワード←←←←←←←←←
192 :
名無しさん@そうだ選挙にいこう :2006/04/24(月) 16:57:17
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 Access SQL 欠落 中国語 DAO 不具合 バグ VBAで、SQLを生成し、CurrentDb.Execute で実行使用としたら、SQLが途中で欠落し、エラーになってしまいます。 SQL文字数は2000文字もありません。 日本語環境で開発しましたが、運用は中国語環境です。WindowsXP、Access2003共に中国語版です。 CurrentDb.Execute strSql のコードを実行する直前まで、変数「strSQL」には正しくSQL分が格納されています。 実行した瞬間に変数の中身が欠落してしまいます。 対処方法を知っている方、お助けください。
>>190 リストは、入力チェックをいいえにする。画面イメージがわからんので、簡単に
単票と仮定するとだ、先に作者名テーブルに追加しなくちゃいけないので、
フォームの更新前処理で実行する。フィールド名は、例だから適当ね。
If (Not IsNull(Me![作者名リスト]) And IsNull(Me![作者名リスト].Column(0)) Then
'リストにない作者名なので作者名テーブルに追加する処理
End If
この追加処理やメインの追加・修正が必ず正常終了する前提です。そうでない
ならトランザクションを利用すべき。
ここまでの話がわからないのなら勉強する。時間がない・勉強しても無理だろう
という場合は、この処理は便利かもしれないけど、作者名の修正はやっぱりテー
ブルで直接だし、お気軽にこれできない?って感じで後先考えてないので、この
方法はやめて、作者名テーブルのメンテナンス用のフォームを作成する。
作者「名」でJOINて設計見直した方が良さそうだな。何のための作者マスタなんだか。
どうせ作者名テーブルはフィールドが作者名だけなんだろうし(決め付け) メインテーブルの総レコード数も数える程度の件数なんだろうから(決め付け) わざわざ作者名テーブルなんて作らずにメインテーブル入力フォームの 作者名コンボ.RecordSourceに"SELECT 作者名 FROM メインテーブル GROUP BY 作者名" とでも書いとけばいいだけなんじゃネーノ?
桐にしとけばいいんじゃネーノ?
わしもそーおもう。
oremoremo
ここで質問に答えてる方々はハードにもある程度詳しいと思うので わかったら教えてくれ。 PC環境:Pen4 2.8G メモリ1.0G HDD:120GB×2(ATA100 7200rpm) 使用ソフト:Access2000 主な作業: @500〜1.2GBのmdbが50個ほどHDDにあり、各種クエリを使用し頻繁にDBを編集している。 AそれらDBを頻繁に別ドライブ(別HDD)へコピーしている 少しでもクエリを早く動かす為、コピーを短時間で終わらせる為に、HDDとインターフェースを SATA(第一世代150Gbps)に変更したら@Aとも多少なりとも体感できるぐらいに 速くなるものだろうか?
>>200 PC環境:Pen4C 2.4G メモリ2.0G HDD:250GB×2(SATA 7200rpm)
使用ソフト:Access2002
今は知らないけど、SATA規格ができた当時のHDDは中身はATA100って言うのが多かった。
なので参考になるかは解らないけど、体感できるほどその差は感じられなかった。
強いていい所を挙げるならば、ジャンパー設定しなくていいことか
(自作PC初挑戦時、SATAにジャンパーが付いてなくて「別買いかよ!」とパニくったのは内緒だ)
>>201 なるほど。サンクス。頑張ってSATA2にしてみるかな。
あんまり変わらないかな。迷う。
漏れは昔から、IDEの1コネクタに1つのHDしかぶら下げないからジャンパ設定した事無いよ。 マスタースレーブで2個繋げられるけど、繋げたらお互いバスの帯域喰い合って遅いし。 漏れだったら、メモリを4GB積むとか、大容量キャッシュ付きのRAIDカード付けてRAID組むとかだなあ。 50個もあるならオラクルとかの本格的なRDBにしてもいいと思うけどねえ。 PCでがんばる範囲超えてると思う。
スレ違いに気づけないバカども乙
>>204 ACCESS「 総 合 」相談所 その15
206 :
名無しさん@そうだ選挙にいこう :2006/04/26(水) 08:53:25
>>194 ,195,196
ありがとうございます。
本当に超初心者で今の状態ではまだよく解らないので、解答を元に勉強してみます。
勉強用に初めて作っているデータベースで、196さんの言う通り作者名テーブルはフィールドが作者名だけで、
メインテーブルの総レコード数も少ないです。
作者名テーブルを何故作るのかと言われれば、リレーションを勉強したかったからであまり意味はないです。
今作っている物は、あとあと作る予定のデータベースで必要なことを、勉強するためのものです。
本も何冊か買って勉強しているんですが、ACCESSは難しいというかセンスが必要なのですね。。
頑張ってみます。ありがとうございました。
Accessでセフレの管理をしようと思うんですが、どうやって知り合えば良いのか教えてください><
そんなのメモ帳で十分だよ。
携帯電話のメモリでじゅうぶんジャン
こんな時こそ桐の出番
>>208-210 勘違いしているよ。
207が尋ねているのはセフレとの知り合い方だ。
こればかりは、桐でも無理だろう。
要は、205への反論なんでしょう。伏線は201-203。
AccessでのExcel操作はスレ違いで追い出されるのにセフレとハードの相談はokなのね
桐を薦める糞スレだから何でもおっけー
【 システム環境 . 】 Windows98, Access2000 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 可 【 検索キーワード 】 昨日から触りだしたド素人です。 前にいた人が作った住所録をちょっといじらなければならなくなってしまいました。 「郵便番号を入力したら住所が自動的に表示される」項目に住所入力支援を使っているのですが、 最近政令指定都市になり、市の後に○○区が付くようになったので使えなくなってしまいました。 今は、自動入力された住所に、別のテキストボックスで書いた住所をコピペして上書きしています・・・。 あまりにも非効率的なので、郵便番号と住所の対応表をテーブルで作り、 そこから参照して住所を自動入力させようと思ったのですが、ACCESSのTipsサイトを回っても良く解らず・・・。 社員番号を入れたら社員名が出る、って感じのよくあるような機能だと思うのですが・・・。
>>214 猿でもできる解決法
住所録側の郵便番号と、郵便番号マスタを連結させたクエリをレコードソースに設定して、
住所録側の住所フィールドと郵便番号マスタ側の住所フィールド両方フォームに表示させる。
コントロール名をtxt住所とtxt参照用住所にしたと仮定して、
住所録側の郵便番号更新後イベントで、
txt住所=txt参照用住所
でいけるんでね?
>>214 最新の郵便番号辞書を手に入れる。IMEの郵便番号辞書とは違うの
で間違わないように。
オレが見つけた最新は 2005/11版のzd200511.exeで、日本郵政公社
から平成17年10月31日に公開されたデータが元ネタだとよ。
郵便番号補完だけで金に成るからねえ。 無料で訊こうってのが厚かましい。
218 :
名無しさん@そうだ選挙にいこう :2006/04/30(日) 18:05:00
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 否 【 検索キーワード 】 Access サブフォーム ウィザード 出てこない 3日目の初心者です。 いわゆる「伝票」テーブル、「伝票明細」テーブルを使用して、 簡単な伝票管理を作成したいと考えています。 「伝票」と「伝票明細」は一対多のリレーションシップを設定しているので、 これら2つのテーブルでフォームを作ると、フォームウィザードで サブフォームまで作ってくれます。 しかし、「伝票明細」に消費税フィールドを加えた「伝票明細+消費税」クエリを 作成し、このクエリと「伝票」テーブルでフォームを作ろうとすると、 フォームウィザードではサブフォームが作成されず、 サブフォームなし、伝票明細ごとのフォームが作成されてしまいます。 この場合はあきらめて、手動でフォームを作成しなければいけないのでしょうか?
219 :
名無しさん@そうだ選挙にいこう :2006/04/30(日) 18:12:36
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 可 【 検索キーワード 】 多対多リレーションシップ 交差テーブル AとBの2つのテーブルで多対多リレーションシップを作成したいときは、 間にCという交差テーブルをおいてAC、BC間で一対多リレーションシップを作ればいいということは調べました。 問題は、交差テーブルを複数使いたいときはどうすればよいのでしょうか。 例えば、先述の例だと、C'というテーブルを用意して、 AC'、BC'間にもそれぞれ一対多リレーションシップを作ります。 そして、AB間の対応全てを、間にCを挟んでいるかC'を挟んでいるかにかかわらず、 クエリで一覧表示させたいのです。 これは無理な相談でしょうか?
220 :
218 :2006/04/30(日) 18:28:41
>>218 > しかし、「伝票明細」に消費税フィールドを加えた「伝票明細+消費税」クエリを
> 作成し、このクエリと「伝票」テーブルでフォームを作ろうとすると、
すみません。
上記の通りにやればサブフォーム出てきました。
「伝票」「伝票明細」を1つにまとめ、さらに消費税フィールドを追加したクエリを
作成し、そのクエリからフォームを作ろうとすると、ウィザードでサブフォームが
作成できません。
要は、あるクエリの元となるテーブル、クエリからフォームを作ろうとすれば問題ないが、
すべてを1つにまとめたクエリからはうまくいきません。
クエリの作り方が悪いのでしょうか。
>>219 無理とはいわないが、後々のメンテも大変になるんだから力業で
そういうのを実現するよりも設計から考え直した方がいい。
>>220 何がやりたいかわからん。
親となるフォーム・サブフォームのそれぞれにレコードソースがあ
るわけだ。なのに、1つのクエリでフォーム・サブフォームを作りた
いって、それは作り方が悪いっていうより非常識だと思うんだが。
>>219 >そして、AB間の対応全てを、間にCを挟んでいるかC'を挟んでいるかにかかわらず、
>クエリで一覧表示させたいのです。
クエリ C, C' のレコードを結合したいとゆうことならユニオンクエリで
>>222 ユニオンクエリというものがあるんですね。
全く知りませんでした。
教えてくださってありがとうございます。
>>221 アドバイスありがとうございます。
まだまだ未熟なもので、実装には十分再考の余地がありますが、
とりあえず今回はユニオンクエリできれいに解決できそうです。
ありがとうございました。
224 :
221 :2006/05/02(火) 21:31:37
>>223 オレには、222がレスしたような解釈さえできなかった。
222は、スゴいと思う。
ユニオンクエリって桐では普通の事
Accessでも普通だってのw
フォームの抽出について教えてください AAフォーム ID 名前 電話番号 BBフォーム ID 日付 備考 AAフォームにボタンをつけてイベントのビルドのマクロで フォーム名 BBフォーム where条件式 [Forms]![AAフォーム]![ID]=[Forms]![BBフォーム]![ID] にしたのにボタンをおしても空のフォームがでて同じIDのフォームがでません お願いします
>>227 ヘルプを見ましたか?
フォームを開き、別のフォームのコントロールの値を使ってレコードを制限するには、次の構文を使用します。
[フィールド名] = Forms![フォーム名]![別のフォームのコントロール名]
[フィールド名] には、開くフォームの基になるテーブルまたはクエリにあるフィールド名を指定します。
[別のフォームのコントロール名] には、フォームのレコードを制限するための値を持つ、別のフォームのコン
トロール名を指定します。
これでよく読んでよく考えて、それでもダメならまたいらっしゃい。
あんた優しいな なんだったら結婚してやってもいいぞ
230 :
228 :2006/05/04(木) 00:18:11
>>229 うれしいが、スマン、既に妻子持ちっす。
じゃあ俺の愛人にしてやるよ
Jetエンジンなんだが、Access2000も2003もバージョンの違いはないんだよな? 2000と2003でデータベースサイズとか1テーブルあたりのMAX行数とか制限に変更があるか 知りたいんだけどその辺の情報ってないよね。
233 :
228 :2006/05/04(木) 10:25:03
234 :
228 :2006/05/04(木) 10:30:36
>>228 ありがとうございました
一応できたんですが、ボタンがへこんだままです
もう一度押すと戻ります
押すたびにボタンが戻る方法を教えてください
236 :
228 :2006/05/04(木) 17:48:23
>>235 アホって言っていい?
それは、トグルボタンでしょ。コマンドボタン使えばいいじゃん。
228はコテにでもなるつもりか?
238 :
228 :2006/05/04(木) 21:21:24
ならないよ。今、暇でさ。
死ね
Access使いって↑や237程度のバカしかおらんの?
はいはい、わかったから228は帰れ
どこに帰るのかなぁ・・・。
クエリをテーブルに変換するマクロって出来ますか?
>>243 クエリはねぇ〜♪
選択クエリだけじゃないのよねぇ〜♪
テーブル作成クエリーのことは知っています。 Accessを全く知らない人のためにフォームからボタンを押すと これができるようにしたいのですが・・・。
マクロ限定となると分からん。俺はVBAしか分からん。
247 :
名無しさん@そうだ選挙にいこう :2006/05/10(水) 00:03:18
>>243 クエリをテーブルに変換するんじゃなくて、クエリの項目で新しくテーブルを作る、って考え方でやってみては?
毎回テーブル作るのか……?
何やりたいのかわからんな。
確かによく解らないけど、 テーブル作成クエリー作っておいて、 フォーム上でコマンドボタン作るときにウィザードで 「その他」→「クエリの実行」でいいのでは?
ありがとうございます、やってみます!
252 :
名無しさん@そうだ選挙にいこう :2006/05/11(木) 17:27:55
すみません。教えて君です。 ACCESS2000を使用していますが、MDB内のテーブルのフィールドサイズ をVBAから変更したいのですが可能でしょうか? 例えばテキストのフィールドサイズが50なのを255に変更するという感じです。 ネットやHELPでみてみましたがやっぱり無理ポ? すみませんが裏技等知ってたら宜しくお願い致しますm(_ _)m
253 :
252 :2006/05/11(木) 18:21:04
自己解決しました。 DoCmd.RunSQL "ALTER TABLE TABL_A ALTER COLUMN FIELD_A TEXT(255)" みたいな感じでいけました。 スレ汚しごめんなさい。いじょ。
ACCESS2000のフォームデザインで四角形(ボックス)を描画すると 必ず立体表示が「枠囲み」になってしまいます。立体表示「なし」の 四角形しか使わないので、いつもここの設定を変えなければならず とても面倒です。既定値を「なし」にしておく方法はないでしょうか?
すみません自己解決です。メニューにありました。orz
256 :
名無しさん@そうだ選挙にいこう :2006/05/14(日) 17:57:18
【 システム環境 . 】 Windows XP Access2003 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 否 【 検索キーワード 】アクセス クエリ 保存 メール 恐れ入ります、ちょう素人ですが職場でどうしてもアクセス を使用する作業があり困っています。 何をやりたいか:あるテーブルとクエリがあるのですが、 それを社内の他の人にメールで送信し、 他の人が各自のパソコンでそのテーブルと クエリを使用できるようにしたいんです。 データベース(.mdb)をそのままメール送信 したら、“容量が大きすぎて”できません でした。どのようにしたら出来ますでしょうか。
>>256 なぜメールなんだ?
サーバー-クライアント型ではまずいのか?
259 :
名無しさん@そうだ選挙にいこう :2006/05/14(日) 19:38:22
>258さま。ご回答大変ありがとうございます。 ホントですね。共有ドライブにいれたらOKですよね。 助かりました!感謝です!
260 :
名無しさん@そうだ選挙にいこう :2006/05/15(月) 00:17:15
それって、Accessの超素人って言うよりも、何でそれに気が付かない かなぁっていうボケ?・・・わざとやってるような気がするくらいおかしい。
>>260 ファイル共有って言葉自体知らない人も居ますねぇ・・・。
見える……見えるぞ…… 社員が適当にテーブルのデータいじっちゃって大慌てする256の姿が……
263 :
みゆき :2006/05/15(月) 14:06:29
【 システム環境 . 】 WindowsXp, Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 MySQL ODBC MySQLのテーブルをODBC3.51Driverでリンクを張り、ACCESSのテーブルとして使用しています。 このテーブルを元にした選択クエリーを、カンマ付きテキストファイルに出力する作業を、 出来ればタスク・スケジューラ等を使って自動的に、定期的に行いたいと 考えております。 モジュールで下記の通り書くと動くのですが、 DoCmd.TransferText acExportDelim, "", "t_log_enq", "M:\60201_2006\t_log_enq.csv", True, "" どうしてもMySQLの認証画面が出てきてしまい、自動化出来ません。 何とかユーザーIDとパスワードをモジュールに埋め込み、自動で動作する方法は ございますでしょうか。
264 :
名無しさん@そうだ選挙にいこう :2006/05/15(月) 16:18:04
【 システム環境 . 】 WindowsXP, Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 Access2000 OpenRecordset レコードセット DAO ■概要 タブ区切りテキスト出力をするVBAです。 ファイル保存先フォルダの指定は別途Function「GetFolderName」で設定しています。 そのFunction中、Accessバージョンを2002以降と2000に分け、 2002以降についてはApplication.FileDialog(msoFileDialogFolderPicker)を用いて、 2000については別モジュールでWindowsAPIを使って処理しています。 ■問題 Access2003で作成したmdbファイルをAccess2000形式で保存してあります。 2002・2003ユーザーには全く問題がないのですが、 2000ユーザーのみ、コマンドボタンをクリックしても何も起きない、という現象があります。 With rs以降、このスクリプトと関連Functionのあちこちにmsgboxを仕込んでみたのですが、 エラーメッセージすら出ない、ということでした。 レコードセットが取得できてない?と思って色々調べたのですが。。。 手元に2000環境がなく、行き詰ってしまいました。。。宜しくお願い致します。
265 :
264 :2006/05/15(月) 16:19:28
Private Sub cmdExp_Click() On Error GoTo cmdExp_err Dim ymd As String 'ファイル名構成年月日時 Dim fld As String 'ファイル保存先 Dim db As Database Dim rs As Recordset Set db = CurrentDb Set rs = db.OpenRecordset("select * from table1 where flag1<>0 and flag2=0") With rs If .EOF Then MsgBox "出力データがありません。", vbOKOnly + vbCritical, "出力エラー" Exit Sub Else '「[fld]\[ymd].txt」でタブ区切りテキストを保存 ymd = Format(Now, "yymmddhhnnss") fld = GetFolderName() If Len(fld) > 0 Then '出力定義名が「s_exp」、出力項目を定義するクエリ名が「q_exp」 DoCmd.TransferText acExportDelim, "s_exp", "q_exp", fld & "\" & ymd & ".txt" If Not .BOF Then .MoveFirst Do While Not .EOF .Edit !flag2 = 1'出力済フラグ !exdt = Date'出力日 .Update .MoveNext Loop .Close MsgBox "出力を完了しました。", vbOKOnly + vbInformation, "出力完了"
266 :
264 :2006/05/15(月) 16:20:02
Else MsgBox "出力をキャンセルしました。", vbOKOnly + vbCritical, "中止" Exit Sub End If End If End With rs.Close Set rs = Nothing Set db = Nothing Exit Sub cmdExp_err: MsgBox "エラーナンバー:" & Err.Number & vbNewLine & "エラー内容:" & Err.Description, vbCritical, "出力エラー" Resume Next End Sub (長くてすみません (´・ω・`)
>>264 普通に考えると、コマンドボタンに問題があるんじゃなくて
Function「GetFolderName」のほうで問題が発生しているんじゃないの?
あくまで感だけど。
>>264 MsgBoxはWith rsの後じゃなくて前にセットしてみたら?
それでもMsgBoxが出なければ明らかにcmdExp_Click()以降のソースが
コマンドボタンのイベントプロシージャに割り当てられてない状態だから、
この場合は2000環境を別途用意してそちらでリコンパイルしてから2000の人に配布。
2000環境が用意できない場合の解決法は・・・ 誰か教えてください。
>>264 MDBがAccess2000形式ならリコンパイルは関係ない気もするよ。
GetFolderNameというのは、アナタが用意した関数?
名前変えようよ。APIと同じ関数名ってのは、気持ち悪い。これが原因では
ないが、まずは268がいうようにcmdExp_Click自体に処理が移ってきてる
ことを確認する。
>>263 リンクする時に、ID/PWを保存する設定でリンクすれば認証画面は出ない
と思うけど。今の状態だと、TransferTextじゃなくても認証画面が表示され
るんじゃないの?
271 :
264 :2006/05/16(火) 10:34:50
短い時間でこんなにたくさんのレス有難うございます。・゚・(ノД`)・゚・。
ちなみにFunction「GetFolderName」の書き出しはこんな感じ
Public Function GetFolderName() As String
Dim accVer As Variant
accVer = SysCmd(acSysCmdAccessVer)
If accVer = "10.0" Or accVer = "11.0" Then
...
Else
...
で、バージョン判定して条件分岐しているんですが、分岐直後のmsgboxが出ませんでした。
>>267 そういうわけで、GetFolderNameまで行っていないんではないかと。
>>268 そうですね、With rsの前にmsgboxセットしてみます。
>>269 おっしゃるとおりですね、まず名前変えます。
結果はまた追って。皆さん本当に有難うございます。
272 :
264 :2006/05/16(火) 13:26:22
With rsの前に入れたmsgboxは出ましたが、それ以降は処理されませんでした。 GetFileName 改め「GetF」Functionのド頭(Dimの後)に入れたmsgboxは出ませんでした。 まさかWithステートメントは2002以降...!?と思ったけどそういうことはなさそうだし...(´Д`)
273 :
名無しさん@そうだ選挙にいこう :2006/05/16(火) 22:17:56
モジュールを使っているようなんですが、ACCESS97のデータベースファイルをACCESS2003で使うことはできますか?
>272 直接関係ないかもしれないが、With 〜 End Withでブロックしている 範囲が大きすぎるのが気に掛かります。 With〜End Withでブロックしている中から外へジャンプさせてしまうのも トラブルの元なので。(それで障害が発生する事がある模様) なので、下記の様な書き方をお勧めします。 If 〜 Then With 〜 End With Do With 〜 End With Loop Exit Sub Else With 〜 End With End If ところで、例に出ているコードだとエラー処理ブロックの直前の物以外、 Exit Subを使う意味がない。 しかも、レコードセットを閉じる処理を飛ばしてしまうし。
276 :
264 :2006/05/17(水) 11:50:55
>>274 そうですね、Withこんなに広く取ることないですね。
If rs.EOF then
〜
Else
〜
DoCmd.TransferText〜
With rs
と変えました。スッキリ。
あとExit Subは、その後自分でも気付いて修正しました。(ノД\)ハズカシ
で、修正したものを2000ユーザーに試用してもらったところ、
--------------
Set db=〜
Set rs=〜
MsgBox "処理を開始します。", vbOKOnly, "STEP 1"
If rs.EOF Then
MsgBox "出力データがありません。", vbOKOnly + vbCritical, "出力エラー"
Else
ymd = Format(Now, "yymmddhhnnss")
MsgBox "保存先フォルダを設定します。", vbOKOnly, "STEP 2"
fld = GetF()
〜
--------------
STEP 2までのメッセージは出ますが、Function GetF ド頭に置いたmsgbox「STEP 3」が出ませんでした。
2002/2003では全く問題ないんですが、2000ではこの書き方では外に飛ばせないんでしょうか。
277 :
264 :2006/05/17(水) 13:36:04
度々すみません、264です。長くなっていますが、引き続きご教授お願いします。 飛んでくれないなら、と、fld=GetF() を次のスクリプト(GetFのメイン部分)で置き換えてみました。 -------------- Dim intRet As Integer Dim accVer As Variant accVer = SysCmd(acSysCmdAccessVer) If accVer = "10.0" Or accVer = "11.0" Then MsgBox "ACCESSバージョンは 2002 以降です。", vbOKOnly, "STEP 3" With Application.FileDialog(msoFileDialogFolderPicker) .Title = "ファイル保存先のフォルダを選択して下さい" intRet = .Show If intRet <> 0 Then fld = Trim(.SelectedItems.Item(1)) Else fld = "" End If End With Else MsgBox "ACCESSバージョンは 2000 です。", vbOKOnly, "STEP 3" fld = GetTransfer() End If -------------- GetTransfer()は、先述のとおりWindowsAPIを使ってフォルダ指定するFinctionです。 このままで2002/2003は問題なく動きます。 試しに上記のうち「fld=GetTransfer()」以外をコメントアウトしても問題なく動きます。 しかし、2000で試用したらSTEP 1のメッセージすら出なくなった、ということでした。 このスクリプト中の何かが2000に嫌われているのでしょうか。 それにしたって、上から処理して途中でエラーならともかく、完全無反応になるなんて...
>>277 ↓ここのところを
accVer = SysCmd(acSysCmdAccessVer)
If accVer = "10.0" Or accVer = "11.0" Then
↓こうして実行するとどうなるか見てみて
accVer = SysCmd(acSysCmdAccessVer)
MsgBox "ACCESSバージョンは" & Nz(accVer,"NULL") & "です。"
If accVer = "10.0" Or accVer = "11.0" Then
279 :
264 :2006/05/17(水) 16:07:55
>>278 2002/2003では予測どおりの動作をしますが、
2000では相変わらず何も起こらない、ということでした。。。
>279 ふと思ったのですが、バージョンによる分岐を無くしてWinAPIだけ 使うバージョンを作って試してみては? 何も起こらない、と言うのはコンパイルエラーが発生しているのかな、 と思います。 Accessの設定でコンパイルエラーを表示させないのが有った様な 気がします。(手元にはAccess95・・・で確認できず)
>>280 そういう設定があるかどうかは別にして、2002以降にしかない
コレクション/オブジェクトを使用してるVBAにして、2000の時は
バージョンチェックで分岐してAPIで動くようにしてるって考え、
ものすごいおかしい。確実にコンパイルエラー。
282 :
281 :2006/05/17(水) 23:57:10
ついで。2002以降って考えなら、If accVer = "10.0" Or accVer = "11.0" Then ではなく、If accVer >= "10.0" Then のはず。↑これでは、2002と2003ならって ことになる。
283 :
264 :2006/05/18(木) 11:21:07
>>280-282 ありがとうございます!コンパイルエラーだったんですね。
お陰様で無事2000ユーザーも問題なく利用できるようになりました。ヽ(・∀・)ノ
実は、最初は2002+ユーザーを対象としていたので、
Application.FileDialog(msoFileDialogFolderPicker)だけでフォルダ指定
させていたんですが、後から2000ユーザーにも使えるように、ということになって
WinAPI処理を付け足していたんです。
その時に「付け足し」ではなく「差し替え」にすればよかったんですね。。。
条件分岐してもコンパイルエラーでダメなんですね、勉強になりました。
ご教授頂いた皆さん、本当に有難うございました。
「ご教授」連発してるとまたあの人が沸いちゃうよ
285 :
264 :2006/05/18(木) 13:00:40
Σ (゚Д゚;)
私はExcel使いで、データベース連携アプリケーションもいつもExcelで作っています。 ところが社内にAccess信者の人がいて、その人と組んだときにAccessを使うように強要されました。 私はその仕様ならExcelで作れると主張したのですが、その人はAccessを使えと言って譲りません。 そこで質問です。 以下の用途におけるExcelに対するAccessの優位性を教えてください。 用途はデータベースアプリケーションのユーザーインターフェイス側です。 データ入力や、データ条件指定&結果表示、定形帳票作成などです。 データベースは外部のOracleを使用します。
やだよ、めんどくさい上に荒れそうな話題持ち込むなハゲ。
私はAccess使いで、データベース連携アプリケーションもいつもAccessで作っています。 ところが社内にExcel信者の人がいて、その人と組んだときにExcelで作ると主張されました。 私はその仕様ならAccessで作るほうがいいと主張したのですが、その人はExcelを使うと言って譲りません。 そこで質問です(以下略)
二人でよく話し合え
>>288 文面だけよむと
あなたもアクセス信者じゃないの?
スマソ 上よんでなかった
私は桐使いで、データベース連携アプリケーションもいつも桐で作っています。 ところが社内にAccess信者の人がいて、その人と組んだときに桐で作ると主張されました。 私はその仕様なら桐で作るほうがいいと主張したのですが、その人はAccessを使うと言って譲りません。 そこで質問です(以下略)
単純に考えればOracleとつなぐのなら同じデータベースソフトの方がいいと思うけどな。 Excelは何でも出来るけどAccessの方が安定しそう。根拠はない。
相手がOrcaleと言う時点でUIにはAccessもExcelも嫌だね俺は。
>>284 そうだな。ご教授ではないよなぁ。
>>286 できるできないではなく、DB扱うならDBで。リンクしてしまえば、ID/PWの認証も不要に
なる設定ができるうえにAccesssのテーブルとほぼ同じ扱いができるし、ビジュアルな
開発が容易。
DB機能は持ってるし、DAO/ADOでのVBAもOKだけど、所詮は力業。必死にプログラ
ミングの世界だな。
でも、本当は
>>294 に賛成。
俺はExcelなんて出力時以外使わないから前々分からん。 というわけでこの仕様ならExcelの方が〜とか言われても断固として拒否するぜw
297 :
263 :2006/05/19(金) 11:44:52
>>270 ODBCをユーザーデータソースでなく、コンピューターデータソースを使う事で、認証のID/PASSを保存することが出来ました。
ありがとうございました。
>>275 ありがとうございます。参考にさせていただきますね。
298 :
名無しさん@そうだ選挙にいこう :2006/05/19(金) 12:38:00
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 否 【 検索キーワード 】 初めてのデータベース作りです。 在庫管理フォームというのを作っています。 在庫データ入力フォーム No ... オートナンバー 記入日 ... =Date() 型式 ... 入力 個数 ... 入力 保管場所 ... 入力 備考... 入力 というフォームを作りました。 入力フォームを開くとパラメーターが表示され、型式を入力する ↓ ・同じ型式の登録済みデータがある場合 フォームに各値が表示され、個数や保管場所や備考などを修正出来るようにする。 ・同じ型式がない場合 新規レコードに移動し、値を入力出来る。 というようにしたいのです。 マクロで、「入力フォームを開く」「パラメーターが表示され、型式を入力、抽出(クエリ)」 というのまではなんとか出来たのですが、抽出した内容はフォームには表示されず、 新しくテーブルのようなカタチで表示されてしまい困っています。 抽出した内容をフォームに表示させるにはどうしたらよいのでしょうか?
【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 否 無理
桐にした方が良いと思うよ。
301 :
298 :2006/05/19(金) 13:09:58
>>299 VBAを使用すれば出来るのでしょうか?
まだVBAは使ったことがないのですが、
よければVBAでの方法を教えて頂けないでしょうか?
>>300 すみません。桐にした方が良いとかどういうことでしょうか?
本当にありがとうございました
なんで作る人目線でしか考えられないんだ? 普通は使う人目線で選ばないか? 使う人が慣れてるソフトのほうが何かあっても自分で解決できるし修正も容易
何に対してのレスなのか分からない件について
よくわかりました 本当にありがとうございました
使う人の目線で選んだら桐もAccessもExcelも有り得ない
.NETとJAVAも追加してくれ
使う人の目線で選んだらやっぱ桐じゃないか?
VBもあり得ないな
セブンイレブンのPOS端末最強
自分がエクセルで管理してきた名簿データを、他の人が作った アクセスのMDBにまとめようと考えています。 出来合いのフォームで1件ずつ登録するのは大変なので、エクセルの シートからインポートしたいのですが、既存のテーブルに追加する場合、 1.既存テーブルで主キーに使っているユニークなIDは、エクセル側でも 重複しないように割り振っておく必要がありますか。 2.別テーブルとリンクさせたいとき、そっちのテーブルを読んで該当する IDを書いておいてインポートすれば良いでしょうか。
インポートにも色々あるんだが…… xlsファイル渡して「あとやっておいて」でいいじゃん。 1.オートナンバー型以外は必要 2.意味不明。
317 :
315 :2006/05/20(土) 15:11:54
ありがとうございます。 2は自分で読み返して意味不明でした。要するにリレーションのことなんですが、 「リレーション」はテーブル単位で見るとフィールド値に別テーブルの主キーが あるように見えるが、インポート時もあらかじめリレーションさせたいレコードの 主キーを書いておけばいいのかな、ってことです。
他に方法があると思えるならそっちでどうぞ。
つまり、質問者が何も分かってないってことさ
>>317 そういうことだ。
別テーブルに持てるような重複した項目をひとつに整理すること
→正規化の第1歩だ
インポート前にやっておく方がいいし、EXCEL知ってるなら
同じコードになるものは一括置換で変換しておいた方がいいぞ。
Access使ってる奴に任せた方が無難。
323 :
名無しさん@そうだ選挙にいこう :2006/05/21(日) 13:07:24
同じフォーム上にリストボックスが2つあって 1つはテーブルから読み込んだ値で埋まっててそこから選択して 隣のリストボックスに値を移す方法ってどうやったらいいですか? ┏━━━┓ ┏━━━┓ ┃ ┃→┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃←┃ ┃ ┃ ┃ ┃ ┃ ┗━━━┛ ┗━━━┛
AddItem
326 :
名無しさん@そうだ選挙にいこう :2006/05/21(日) 19:42:23
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 否 テーブルにデーター入力しているのですが、会社の電話番号が代表で2回線、5回線 とかある場合に全ての電話番号を入力しています。テーブルに入れる場合 横並びに電話番号1電話番号2とかにするよりは別IDで同じ会社の名前で 登録していったほうがいいのでしょうか? 例)1 ID 会社名 電話番号1 電話番号2 ID1 ○○会社 03-1111-1111 03-1111-1112 例)2 ID 会社名 電話番号 ID1 ○○会社 03-1111-1111 ID2 ○○会社 03-1111-1112 1、2どちらが正しいのでしょうか?
ネタにマジレスして申し訳ないが、どちらも正しくない。正規化を勉強しれ。
328 :
名無しさん@そうだ選挙にいこう :2006/05/21(日) 20:02:03
>>327 さん
はじめたばかりで、ネタではないんですが
正規化ってどこで勉強できますか?
ネタにマジレスして申し訳ないがググれカス
330 :
名無しさん@そうだ選挙にいこう :2006/05/21(日) 20:10:45
ググってみましたが この場合は、テーブルを分けて作るんですか?
331 :
名無しさん@そうだ選挙にいこう :2006/05/21(日) 20:54:56
正規化なんぞできなくてもアクセスとりあえず使えるんじゃないか? 最初から正規化なんてやらんでもいんでは?
そういう人は桐を使えばいいと思うよ
正規化なんて言葉はとりあえずどうでもいいんだ 誰かがテキトーにExcelか何かにためたデータ見て あるいは 何も分からん自分がテキトーにつくったテーブル見て つか、ずらっと並んだレコード見て 何かこういうデータの貯め方って野暮くない? とか こんな貯め方していくとお先真っ暗じゃない? とか 一度ぐらいは思ったことないか? ない? 本当にない? いや、べつになきゃいいんだ
思ったこと無い人は桐を使えばいいと思うよ
>>326 例2の方がややマシ
たとえば、「でも、社名変更とかしちゃったらどうしよう?」っつう、そこんとこ
>>326 俺も独学で勉強しているから正規化といわれても今ひとつわからないけど、
考え方としてはキーになるデータ、それに従属するデータというふうにテーブル分ければいいんじゃないのかな。
326の例では、会社名がキーになりそうだから、会社に「会社ID」をつけ、電話番号は別テーブル。
そして、会社IDでリレーションすればいいのでは。
違っていたらすまん。
337 :
名無しさん@そうだ選挙にいこう :2006/05/22(月) 03:07:53
【 システム環境 . 】 Access2000 【 VBAでの回答 】 可 帳票形式のフォームをサブフォームに使っており、そのサブフォームの詳細セクションに ID(連結)/Text Box/ラベル という感じで3つ一列に並んでいます。 IDの内容によってTextBoxやラベルの内容を書き換えたいのですが どのイベントを使ってすればいいのかわかりません。 Form_CurrentやID_Enter等でやってみたのですが データは複数あるのにイベントが一度しか発生してくれず、 TextBoxやラベルが全て同じ内容になります。 解決手段をよろしくお願いします。
>>326 さんありがとうです。
参考にしてやってみます。
>>337 無理。レコードソースでIIFか自作関数使う必要有。
【 システム環境 . 】 WindowsXP, Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 クリップボード??? 郵便番号と住所の入力の際、 手動で番号を7桁入力すると自動的に住所が反映されます。 が、コピーアンドペーストで7桁入力しても、スペースキーを押さない限り 反映されません。VBAでいろいろやってみたけど上手くいきません。 どなたか御知恵を!!!
プログラマ志望なんですが、小さな会社に求人をしています。 それでそういう会社ではEXCELのVBAやらACCESS等で作った計算表などでの発注も受け持っているそうです。 だから、私もどちらかを勉強しようと思っているのですが どちらがより役立つと思われますか?
求人ってのは雇う側がすることで……
求職
>>341 2000Developerには付いていたらしいが、
どうしてもその機能が必要ならYubin7を買え。
そのカネが出せないのなら、Excelにエクスポートして
住所変換ウィザード(オプションのアドイン)を使って郵便番号振ってから
インポートしなおせ。
ほぼ、この二者択一?
すまん。 郵便番号から住所だったか。 まぁ、どちらにしても同じことだと思うけどね。
Access2003とExcel2003利用です。 ExcelのデータをAccesssの外部データの取り込みで処理すると 容量が異様に大きくなるのですが、抑止出来ませんか? Excel 160kのデータがAccessで30Mにもなり、困っています。
>>347 関係ないかもしらんが、オプションの「レコード レベルでロックして開く」つーのを
オフにしてからインポートしたら、多少マシになるかも(無保証)。
ただし、それがもし共有 MDB なら、他のユーザーが使っていないときに試して、
インポートし終わったら速攻設定を戻すよーに。
>>348 レスサンクス。自己解決しました。
どうもExcelの空行をデータとして認識したのと
インポートエラーのせいで容量が膨れていたようです。
ありがとうございました。
WIN_XPでアクセス2003を使用しているのですがどうしていいのか分かりません。 内容は、フォームでカレンダーコントロールを配置してその下にその日の天気や降水量などを 入力しようとしているのですが、自分が作ったコードではカレンダーコントロールを押すたびに フォームがチカチカして画面酔いを起こしてしまいます。自分の中ではこれ以外にコードが思いつかないのですが いいアイディアとかないでしょうか?ご教授のほどよろしくお願いいたします。 Private Sub Calendar3_Click() '日付 Dim intCount As Integer Dim a As Date With Form_F_Main dd = .Calendar3.Value .AllowAdditions = True .DataEntry = True intCount = DCount("日付", "T_data", "[日付]=#" & dd & "#") ' テーブルに該当日付が有るかチェック If intCount = 0 Then '日付がテーブルに無い場合追加するコード .日付 = dd .降水量 = "" .天気="" Recordset.AddNew Me.AllowAdditions = False Me.DataEntry = False Else .AllowAdditions = False .DataEntry = False End If DoCmd.ApplyFilter "", "[日付]=#" & dd & "#" ’該当日付のフィルター End With End Sub
【 システム環境 . 】 WindowsXP, Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 Access2000+SQLServerでc/s型のシステム構築を考えています。 クライアントからADOでSQLServerにConnectionしたところ、 Accessローカルに作成したワークテーブルを使用することができませんでした。 サーバテーブルとローカルテーブルをJOINしたSQLを利用したいのですが、 このような使い方をする場合、どのように接続すればよいのでしょうか? よろしくお願いいたします。
352 :
名無しさん@そうだ選挙にいこう :2006/05/23(火) 13:59:54
データシートビューで、データ入力部を最上部にする方法ってあるでしょうか? さらにできれば帳票フォームでも同様にしたいのですが。
無い
>>351 SQLServerのテーブルをリンクする。
>>352 非表示のソートキーを設ければできるが、その苦労に見合うだけの
価値は見出せないのだが・・・。
テンプレ使わない屑には353で十分
356 :
341 :2006/05/24(水) 13:16:09
>>345 御知恵をありがとうございます。
だけどVBAでなんとかなりそうなきがするんで
そこで
郵便番号入力フォームに7桁の番号を貼り付けた際に
Private Sub 郵便番号_Change()
If Len(Me.郵便番号) = 7 Then
SendKeys " ", False
End If
End Sub
でスペースを「押す」というVBAで作ってみましたが上手くいかない?
ほかに方法はあるでしょうか?
357 :
名無しさん@そうだ選挙にいこう :2006/05/24(水) 16:23:49
ほかの方法の前によ、SendKeyのキーの指定が違うだろ
【 システム環境 . 】 Windows2000, Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 サブフォームが親フォームのコントロールを参照しているとサブフォームだけ 起動したときにエラーになってとても不便です。 親フォームから呼ばれたのか、サブフォームが直接起動したのか判別する方法はないでしょうか? それがわかればVBAで挙動を変えたいのです・・・。 よろしくお願いいたします。
と、思ったけどサブフォーム開いた時にOpenArgsってどうやって渡すんだろうな。 サブフォームオープン時にparent.name参照してエラー2452が発生したら 直接開いたってことにしてもいいな。
361 :
358 :2006/05/24(水) 22:15:58
>>360 強引だけどなるほどw
感謝。
なんかうまい手がありそうですけどね。
362 :
名無しさん@そうだ選挙にいこう :2006/05/25(木) 08:43:39
【 システム環境 . 】 Windows2000,98se Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 access 同時に 開く サーバにテーブルのみのmdbを置き、クライアントにリンクテーブル(サーバのテーブルにリンク)、クエリ、フォーム、レポートなどのデータが 入ったmdbを置いて使用しています。このような使い方をする場合、クライアント数は何台まで 増やすことが可能でしょうか。現在はクライアント数5で使用してますが、10台まで増やしても 問題ないでしょうか。
2台でも問題有り
たとえば参照の場合 何十万件もあるようなテーブルとかだと読み込むのに時間かかるでしょ mdbのリンクテーブル相手にSQL書いても、絞り込まれたデータだけもって来てくれる わけじゃないよ、たぶんだけど たとえば入力や更新の場合 クライアント1とクライアント2が、偶然まったく同時にサーバーの同じデータを 掴みにいった場合どうするか、とか mdbでも、いろいろ細かい仕掛け入れれば何とかいけることはいけるんだけどね その細かい仕掛けってのが、一言ですむほど単純な話じゃなかったりして こんなに苦労するんだったらSQLSERVERにしときゃよかったかなと、 同じく現在5台で運用中の人間のグチ ただその苦労も他で役に立つことがあったりするかもしれないわけで お好きにどうぞって感じ 細かい仕掛けいっぱいつくって、それが5台で通用するなら10台だって20台だっていけるよ
>>365 >mdbのリンクテーブル相手にSQL書いても、絞り込まれたデータだけもって来てくれるわけじゃないよ、たぶんだけど
持ってきてくれるように書けばいいだけ
サーバーのCPUが余ってて回線がしょぼい人もいるし
逆もいるから好きなようにすればいい
SQLSERVERでもAccessでも 考えることは一緒だぞ 必要な仕掛けが分かっている人ならSQLSERVERのほうが手間が省けるってだけ
手間が省けるってのが何より大事
369 :
365 :2006/05/25(木) 16:57:54
>>366 たしかにそうなんだけど。。。
あ、いや、そちらのいっている意味とこちらの考えてることが同じだという自信もなかったり。。。
私が悪うございました
>>365 SQLサーバーだと細かい仕掛けいらないの?
細かい仕掛けって具体的には何ですか?
>>371 それはデータベースの切り替え用では?
アクセス自体は95をアンインストールしてから2003を入れる
アンインストしなくても普通は大丈夫
>>DB自体は問題なくコンバート出来ると思っているのですが、 >>Access Basicとか言うのがちゃんと変換出来るか心配です。 甘い! テーブルしか無いmdbなら問題無いだろうけど… 基本的にはデータ以外全て再作成になる位に思っておいた方がいい。 (ある程度は自動変換されるが、期待していたら可也残念感溢れる事に…) そして、知り合いは全部君が良きに計らってくれるものと思っていると。 アプリの組み方によっては95動作環境と2003動作環境の両方を揃えておかないと怒通墓に嵌る可能性も。(変換前のバックアップは当然必須)
お前は一昔前のヤンキーかと
なんか今更当たり前のことを言われてもねw
155 名前:NAME IS NULL[sage] 投稿日:2006/05/26(金) 14:30:55 ID:??? Access2007ベータ2凄いね やっと桐から卒業できるぞ 分割フォームは便利だし、マクロで変数使えるようになってVBA 無くても通常業務は可能だよな
マクロもVBAもそう変わらないよ どっちにしてもVBAの知識は必要
VBAが.NET for Applicationに移行するのはいつですか?
変数も分割フォームも桐の猿真似なんだがな
ついでに桐のまねして集計行ってのも取り入れてるし
どんどん桐のマネしてくれwwwwwwwwwwwwwww 超嬉しいwwwwwwwwwwww
桐オワタ\(^o^)/
RTF型使えるようになったからワープロいらなくなるね。 つーか、紹介状とか報告書とか文書管理できるようになる。
桐は特許取ってないから マネしようがパクろうが合法
分割フォームってどんなの?
>>388 今の2002環境に影響あると困るので職場ではダウソしてなかったけど
自宅で落としてみるよ。 ありがとう。
変わり杉だ!またバグ出まくりの悪寒
そのリンク先に、まさに階層不定でそれをやっているサンプルが付いているように見えるが。 何か違うのか?
RTF型が出来てInfoPathと接続できるようになりますた 最強フォームが作れます
>>392 モーニング娘の奴ですか?
あれは
テーブル
親ノード |子ノード
11-1000 |98-9999
ツリー
11-1000
└98-9999
└11-1000
└・・・
の繰返しにしか見えないんですが・・
これの応用で可能なんですかね?
398 :
391 :2006/05/26(金) 22:50:32
('A`)・・・ すみません勉強と知能が足りないみたいなので出直します
足りないのは良識や常識 普通に聞き直せば普通に答えてもらえたと思われ
400 :
391 :2006/05/27(土) 00:16:05
普通に聞いたつもりだったんですが 退場と最低と言われても何が悪いのかわからず 何方か教えていただけませんでしょうか・・
401 :
名無しさん@そうだ選挙にいこう :2006/05/27(土) 00:18:23
質問するときはエロ画像添付するのがこのスレのルール
403 :
391 :2006/05/27(土) 01:06:12
こいつ天然っぽいな
お〜い。こうしたら、なんかできたんで、じゃなくて少しは 理解しろ。
別のスレと同じ書き込み すんな。
Access2007簡単杉だわホビーユーザーでもそこそこのアプリ作れちゃうぞ Accessで飯食ってたプロはサーバに移行しないとおまんま食い上げ決定 アルマジロさんの判断は正しかった
408 :
名無しさん@そうだ選挙にいこう :2006/05/27(土) 19:00:46
【 システム環境 . 】 WindowsXP, Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 mdb パスワード 解除 mdbファイルを開くときのパスワードを解除するにはどうしたらいいんですか?
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 微妙 【 VBAでの回答 】 可 【 検索キーワード 】 主キー 入れ替え Access これまで、使っていた主キーを商品名から商品IDにしたいと考えています。 主テーブルの状態 商品名 内容 ↓ 商品ID 商品名 内容 リレーションテーブルの状態 旧:販売記録 商品名 ↓ 新:販売記録 商品ID しかし、リレーションテーブルの置換方法がわからず、 クエリの追加や更新で解決しようとしましたがうまくいきません。 よい方法がありましたらご教授ください。よろしくお願いいたします。
更新クエリでいいじゃん
412 :
410 :2006/05/28(日) 01:40:57
>>411 試しにもう一度更新クエリでやってみたら出来ました。
ありがとうございます。
さっきは同じ式で、
数字だけのレコードが大量に追加されて参ってたのですが
何が違うやら……
クエリが違うんだろ
リッチテキストの挙動が可笑しい 分割フォームもキーフィールドがフォームで入れ替わる ばだばだバグ出し沢山必要
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 グループ 小計 1行 レポートでグループの集計(小計)をしたいのですが、そのグループに1レコードしか無い場合はグループヘッダー&フッターを 表示させないようにするにはどのようにしたらいいでしょうか?よろしくお願いいたします
【 システム環境 . 】 WindowsXP, Access2000 【 VBAが使えるか .】 はい(ホントに多少ですが) 【 VBAでの回答 】 可 【 検索キーワード 】 Access VBA 別テーブル 正社員検索クエリと外注者検索クエリにより選択してきた2つの結果を、 1つのテーブルに挿入したいのですが、どうしたらよいでしょうか? 正社員クエリでは、社員番号、氏名、プロジェクトコード、プロジェクト名 が選択され、 外注者クエリでは、社員番号、氏名、プロジェクトコード、プロジェクト名、 協力会社名が選択され、 データを合わせるテーブルは、社員番号、氏名、プロジェクトコード、プロジェクト名 協力会社名という構成になります。なお、正社員クエリで選択してきたデータの 協力会社名にはデフォルトで”正社員”と挿入する事になっております。 2つのクエリを組み合わせて、更に新しい選択クエリを作ろうと試みましたが、 結果に結びつくうまいクエリが見つからず、VBAを使うしかないと思い、VBAにつ いて調べ、QueryDefを使用してQueryのオブジェクトを取得する事までわかりま した。 しかし、取得したQueryDefオブジェクトの中身(実際の正社員クエリの、氏名、プロジェクトコード、 プロジェクト名など)を、どうやってRecordSetに設定し、実際のテーブルにセットするのか がわかりません。何かうまい方法ありましたらご教授ください。ちなみに、ADO方式でVBAを書いてい ます。 また、VBAを使用しなくても良い方法がありましたら、それでもかまいませんので御教授ください。 宜しくお願いします。
>>416 INSERT INTO データを合わせるテーブル
SELECT 社員番号, 氏名, プロジェクトコード, プロジェクト名, "正社員" AS 協力会社名 FROM 正社員クエリ
UNION ALL
SELECT 社員番号, 氏名, プロジェクトコード, プロジェクト名, 協力会社名 FROM 外注者クエリ
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 不可 【 検索キーワード 】 Access 初心者 入門 フォームについて 主キーのところを編集不可やタブストップをして入力時にいじれなくして データのみを入力。次のデータを入力すると主キーの値が同じなる 新しくデータを入力するさいに主キーの値を自動的に1カウントアップ できる方法を教えてください。教科書とか見たけどやり方がわかりません
419 :
418 :2006/05/30(火) 01:31:15
すいません、早とちりしていました オートナンバーすればよかっただけですね。申し訳ありませんでした
420 :
416 :2006/05/30(火) 10:33:48
>>417 返信ありがとうございます。
SQLに関しての知識が乏しいもので、UNIONクエリを使うと言う発想はありません
でした。おかげ様で解決できました。ありがとうございます。
また、VBAでやるメリットはないのですが、クエリさえ作れば、DoCmdで実行する
だけで出来るので、こちらも解決できそうです。
本当にありがとうございました。
421 :
名無しさん@そうだ選挙にいこう :2006/05/30(火) 16:47:39
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 不可 【 検索キーワード 】 Access 初心者 入門 久しぶりに扱っているのですが、OutlookからExcelに出した連絡帳 とExcelで作った顧客表を使って顧客管理のDBを作りたいのですが、 なかなかリレーションなどできなく、また上司の要望が大杉てこまってます (;´∀`) せめてリレーションなどでひっぱってひとつの検索方式にできるか どうか教えていただけませんか?ぐぐってもなかなかみつからないです・・・。
423 :
名無しさん@そうだ選挙にいこう :2006/05/30(火) 17:03:35
ありがとうございました。たすかりますた(;´∀`)
そんなんでいいのか……
425 :
名無しさん@そうだ選挙にいこう :2006/05/31(水) 20:53:04
Accessオワタ\(^o^)/ 2007は完全にパーソナル製品です、仕事で使えません。 DB開発者 = DB操作者 の個人使用向けです。 ユーザー権限の設定がありません。 Access でメシ食っている人は、sheare point saevr に移行しないと失業必至です。 やっぱり、桐にしとけ
つまり俺向けってことだな。
それが本当なら、やっと待ち望んでいた形に戻ったな。 本来ローカルで使って何ぼのパーソナルDBに、共有機能もユーザー管理も必要ない。 オレの作ったファイルのユーザーはオレに決まっとるだろが。 中途半端に企業ユーザーを意識するから、使い勝手は落ちるわ、C/S 製品と不当に 比較されるわで、いいことは一つもなかった。 Access 2000 以降、ヘルプの改悪やらトラブルの元になるだけの名前の自動修正やら うざいだけのスマートタグやら、新機能のほとんどは嫌がらせみたいなもんばっか だったが、ここにきて原点回帰で、ようやくマトモなバージョンアップをしたか。
そのうちVBAも無くなるんだろうな
その前にマクロを廃止してほしい、と思うのは漏れだけ?
マクロはいらんがVBAはいる。中身は同じだけど。
使うと言ったら、AutoExec と AutoKeys くらいかなぁ。 Acc_Open と Acc_Close みたいなイベント追加してくれたら、マクロイラネ
ネットワークだ、マルチユーザーだという環境でもユーザー権限なんて 使ったこともない。いいんじゃないの。 ユーザー権限に気を使うところなら、初めからAccessなんか使うなって 思うけどな。
ユーザー権限はリボンに無いだけで機能はあるみたいだな
なんだガセか。 ヌカ喜びしちまったぜまったく。
いや、ユーザー権限の機能もない、ベータ版だからか???? データベースのディプリケーション機能も無くなってる orz.
436 :
名無しさん@そうだ選挙にいこう :2006/06/01(木) 23:09:58
【 システム環境 . 】 WindowsXP, Access2000 【 VBAが使えるか .】 はい(ホントに多少ですが) 【 VBAでの回答 】 可 【 検索キーワード 】 Access VBA フォーム フォームにファイルをドラッグアンドドロップし、 そのファイル名を取得する処理がわかりません。 サンプルが載ってるサイト、もしくは、コードがわかる方がいらっしゃいましたら 返答よろしくお願いします。
【 システム環境 . 】 WindowsXP, Access97
【 VBAが使えるか .】 はい
【 VBAでの回答 】 可
【 検索キーワード 】 Access VBA フォーム
「コントロールのフォーカス喪失時にフォームを閉じるとエラー発生する」のですが、
ttp://www.moug.net/tech/acopr/0050006.htm を参照したところ、
>フォーム上にフラグを立てるための非連結テキストボックスを
>貼りつけそのフラグ用のテキストボックスの値を参照してフォームを閉じる方法があります。
とあるのですが、具体的にどのイベントにどうコードを書けばよろしいのでしょうか?
ご教示の程、よろしくお願いいたします。
439 :
438 :2006/06/04(日) 00:32:29
あれから方法を考えたものの、どうにも思いつかなかったので、 コントロールがフォーカスを喪失するのは、 Enterを押したときだろう、ということで、 KeyClickイベントで、Enterを押したときに、 フォームを閉じる方法で対処しました。
ユーザーが別のコントロールをクリックして、フォーカスを喪失することが ないように祈ってるよ。じゃ。
>>415 レポートあんまり詳しくないんだけど
iifで1レコードのときはNULLいれるとかじゃダメなんかな?
>>440 自分の所属する係員数人しか使わないから大丈夫・・・、だと思います。
実は、会計伝票を起票する「支援システム」を作ってるんですけど、
ケースによって使用する勘定科目や摘要がパターン化されているんです。
「入力」フォームは勘定科目や摘要を直接入力する仕組みにしてるんですが、
それだとケースごとに勘定科目や摘要をいちいち覚えていなくてはならない、ということで、
おおもとの「入力」フォーム上のあるテキストボックスがフォーカスを喪失すると、
自動的に別のフォームがポップアップウィンドウで開いて、そのフォームにケースを入力すると、
おおもとの「入力」フォームに勘定科目や摘要が自動的に反映される、
という仕様にしたかったんです。
そこまではできたんですが、
その別のフォームをどうやって閉じさせようか?と考えたとき、
最後の項目のテキストボックスがフォーカスを喪失した時なら、
マウスとか使わなくていいので便利かな?と。
よく考えると、フォーカス喪失時にこだわるとマウスで別のコントロールをクリックしても、
Tabキーでフォーカスを移動させても、フォーカス喪失時イベントが発生しちゃうので、
逆に不便だな、と気づきました・・・。
>>415 >>441 1レコードしかないことをチェック・次のレコードが違うグループに
なることを判断、のどれでもいいんだけど、ヘッダーフォーマット
前にVisibleを制御すればいいだけよ。
>>443 415じゃないうけど
>次のレコードが違うグループになることを判断
ってどうやるの?
よくあるシチュエーションで、1件先読みしてしまうといろいろ不都合があるので
カレントレコードの時点でそういうことができるなら是非知りたい
445 :
443 :2006/06/04(日) 15:02:47
>>444 フォームならRecordsetClone使うけど、レポートってできたっけ?
できるなら、楽だし早いと思う。Bookmark利用すれば簡単だし。
ダメなら、RecordSourceを別途開いてFind系かな。
そう考えると、1レコードしかないことをチェックの方がいいのかな。
DCountでいいんだけど、毎回これが動作するのも嫌だから、最
初からRecordSourceのクエリに加えておくとか、作業用テーブル
を利用するとか。
446 :
名無しさん@そうだ選挙にいこう :2006/06/04(日) 19:01:19
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 はい(ホントに多少ですが) 【 VBAでの回答 】 可 【 検索キーワード 】 Access VBA インポート、 transferSpreadsheetメソッドを使い、 エクセルファイルからインポートする際、 エラー番号:3274外部テーブルのフォーマットが正しくありません。 とエラーが表示されます。 同様の処理(エクスポート、インポート)を他のプロシージャでは、 エラーがなく取り込めてることを確認しています。 簡単にコードを書きます。 lstrTableName 'テーブル名 lstrPath 'ファイル名(フルパス) DoCmd.TransferSpreadsheet acImport,acSpreadSheetTypeExcel8, lstrTableName , _ lstrPath ,true, "A1:U2" エクセルファイルを開くと、ファイルエラー:表示形式の設定が失われた可能性が あります。とも表示されています。 また、そのファイルを上書き(メッセージ:Excel 5.0/95ブックです。 最新のExcelのファイル形式に更新しますか?とメッセージが出ます。) してやると、正常に取り込めます。 どなたかサポートをお願いします。
448 :
446 :2006/06/04(日) 22:51:19
>>447 acSpreadSheetTypeExcel8を変更して試してみましたが、解決できませんでした。
you自分でExcelデータ読み込んじゃいなよ
2007のマクロに値の代入アクションが無い orz ダメだコリャ
>>415 グループヘッダーにテキストボックスtxtCountを配置、
コントロールソースを=Count(*)にして以下のソースでどう?
Private Sub グループヘッダー0_Format(Cancel As Integer, FormatCount As Integer)
If Me.txtCount = 1 Then
Me.PrintSection = False
Me.MoveLayout = False
End If
End Sub
Private Sub グループフッター0_Format(Cancel As Integer, FormatCount As Integer)
If Me.txtCount = 1 Then
Me.PrintSection = False
Me.MoveLayout = False
End If
End Sub
452 :
名無しさん@そうだ選挙にいこう :2006/06/05(月) 16:29:46
ほかの掲示板で質問したら就職にはまずaccessを極めよと言われたので ただいま勉強中です。 しかし、既に10時間ほどじっくり勉強しましたが正直 何に使えるのかまったくわかりません。どんな役に立つのか・・・ なんか無意味に思えてきたのでやる気もなくなってきました。 もうちょっと頑張れるエサなど頂けたらうれしいです。
>452 Accessを極めるにはデータベースの知識やら情報処理の知識の方が 重要です。 実際問題、特定のツールの知識だけ幾ら持っていても「使える人」と イコールになる訳ではない。 それよりも情報処理の基礎になる考え方をキチンと勉強している人の 方が遥かに役に立つ人になってくれる。(簿記の知識もあって損はないかも) 新卒で正社員採用を目指して就職活動中と言う事でしたら、言語や ツールの使い方なんぞ、就職後に勉強しても良いので、Accessを勉強する 時間で基礎を勉強した方が良いです。 そうすると、自然、Accessの使い道も分かってくると思う。 (JavaでもVS.NETでもOracleでもSQL Serverでも以下同文)
455 :
名無しさん@そうだ選挙にいこう :2006/06/05(月) 19:59:27
>>454 同意。アクセスのようなおもちゃを勉強している暇があったら、基礎をしっかりやるべき。
基礎って何だよ w
馬鹿は放っておけw アクセスが嫌いなだけだw
事務屋に求められる能力は大したことないから桐にしとけ
>>452 ACCESSは目的を達成するための手段だからね。
目的もなくて手段だけを極めようとするのには、無理があるんじゃないの。
逆に言えば目的(就職活動に有利とかそういうことではないよ)さえはっきりすれば、
ACCESSの使い道がわかってくるとおもうよ。
>>452 > ほかの掲示板で質問したら就職にはまずaccessを極めよと言われたので
言った奴に聞けよ
以上、
461 :
452 :2006/06/05(月) 23:30:08
>>454 ご意見ありがとうございます。ではまずは基本情報処理技術者の試験に
合格できるよう(一度挫折しました)もう一度勉強してみます。
>>459 ご意見ありがとうございます。
まーはっきし言って一般社員ならWordとExcelとPowerPointの操作に慣れといた方が よっぽど生産性上がるぞ
2007のマクロに値の代入アクションが無い件について
マクロ自体イラネ
>>463 ありますよ^^;
適当なこと言わない方がいいですよ
>>465 俺のにもナイ
ドロップダウンリストに出てこないぞ
じゃ、俺のもナイ
そうか。 今度の 2007 はアタリとハズレがあるんだな?
【 システム環境 . 】 Windows2000, Access2003 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 VBA EXCEL インポート ・ファイル選択ダイアログで選択したEXCELファイルのシート名を取得したい ・そして1シートずつACCESSにインポートしたい。 以上です。よろしくお願いします。
インストは別なのかも
>>469 ActiveXでExcel操作しろ。そしてExcelスレ行け。
472 :
名無しさん@そうだ選挙にいこう :2006/06/08(木) 01:28:48
access 2003を使用しているのですが、オートナンバーのような 自動で連番を作っていくように出来る方法を教えて頂けないでしょうか? また、その連番の桁数、増えていく法則などを 制御する方法はないでしょうか? 例えばA0000〜A9999まで達するとB0000〜B9999になるみたいな 方法がありましたら是非ご教授お願い致します。
>>469 まず参照設定でExcelのObject LibraryはONにしてるか?
【 システム環境 . 】 WindowsXP, Access2003
【 VBAが使えるか .】 はい
【 VBAでの回答 】 可
【 検索キーワード 】 リストボックス フォーム間 値 一時テーブル
フォーム1とフォーム2があってフォーム1にはサブフォームが埋め込まれてます。
フォーム1のコマンドボタンを押すとフォーム2(
>>323 のような感じ)がポップアップしてリストボックスの値を左から右に移します
そのあとフォーム2のOKボタンを押すとフォーム1のサブフォームにフォーム2のリストボックスの中の値を
帳票形式で全部表示させたいのですがうまくいかずに困ってます。
どうか解決策を授けてくださいm( __ __ )m
訂正 ×帳票形式で全部表示させたい ○帳票形式のテキストボックスまたはラベルで全部表示させたい でした
なんで上手くいかないんだ? 説明不足すぎだけど、検索キーワード見る限りサブフォームの レコードソースは一時テーブルなんだろ? 何も難しいことはないはずだが。
説明不足すみません。 本当は一時テーブルを使わずに直接リストボックスから引っ張ってきたいのです。 一時テーブルにワンクッション置く方法しか解決策が思い浮かばなくて苦肉の策でした。
帳票フォームなんだったらそれでいいじゃん。
これでよかったのですね(;´∀`) なんかスマートじゃないかなって思ってました。
マクロの一時変数ってどうやって使うん? フィールド名としてパースされて認識されないんだが
482 :
名無しさん@そうだ選挙にいこう :2006/06/08(木) 19:56:12
【 システム環境 . 】 WindowsXP, Access97 ACCESS2003が高いので困っているのですが、 ACCESS97は、WindowsXPでも稼動する、と聞きました。 全然、問題なしですか? また、EXCEL2002がインストールされているだけのPCに、 Office 97 Professionalの製品版のアップグレード版をインストールすれば、 Access97が使える、と聞いたのですが本当でしょうか? どなたかご教授くださいませ。 インストールして
483 :
482 :2006/06/08(木) 19:57:49
聞かないで、やってみれば
485 :
469 :2006/06/08(木) 20:50:35
>>471 今日勉強したんですがActiveXさっぱりわかりませんでした。精進します
>>474 ありがとうございます。なんとか取得することができました。
回答してくれたみなさまありがとうございました。
またよろしくお願いします。
【 システム環境 . 】 WindowsXPHome, Access2002 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 グループ化、サブクエリ、Stdev グループ化した数値の平均を算出し、さらにその標準偏差を求めたいのですが、 2つのクエリで、グループ化したクエリの標準偏差を求めることは出来ました。 これを1つのクエリにしようとしていますが、できません。 (元のクエリ テーブルDataTable の日次のデータAを週の平均を算出) SELECT DISTINCTROW Year([DataTable]![Date])*100+DatePart("ww",[DataTable]![Date]) AS WeekNo, Avg(DataTable.A) FROM DataTable WHERE ( 略 ) GROUP BY Year([DataTable]![Date])*100+DatePart("ww",[DataTable]![Date]) この週データの標準偏差を求めたいのですが、 SELECT DISTINCTROW StDev((SELECT DISTINCTROW Avg(DataTable.A) FROM DataTable WHERE ( 略 ) GROUP BY Year([DataTable]![Date])*100+DatePart("ww",[DataTable]![Date]);)) AS 式2 FROM DataTable; とやると「このサブクエリでは1つの値しか返しません」と言うエラーになります。 1つのクエリにまとめたいのは、WHERE条件に変数を入れ、さまざまな条件で月次の標準偏差を求めたい為です。 今暫定でExcelに元のクエリをADOで呼び、Excel上で標準偏差を求めています。 なにかヒントでもいただけないでしょうか。
ACCESS2003の右クリックメニューの編集は出来ないのですか? コピー、貼り付けに追加貼り付けを追加したいのですが。
できる
mjsk? あと、EXCELみたく縦列に対して一括コピペ入力もしたいのですが、コレも可能ですか?
場合によっては可能、つーかオマイは退場汁
桐にしとけ
>>486 訂正 下から3行目
さまざまな条件で月次の標準偏差を求めたい
↑
週の
うん、やっぱ桐だよな
494 :
名無しさん@そうだ選挙にいこう :2006/06/10(土) 00:06:58
こちらでいいかわかりませんがお聞きします。 VBAでテーブルからメールアドレスや本文を抽出し、 ループ処理でアウトルックに接続し送信しています。 ですが、連続して送信してると最後までうまく送信する場合と途中で 固まってしまう場合があります。 これは送信処理がもたもたしているからでしょうか? 回避する方法がありましたらお願いします。
>>494 テンプレ嫁
あと一斉送信が合法か違法かも
こんなトコにもルール厨が・・・・・・・・
ここは2ちゃんですよ
>>486 まず、サブクエリにする必要があるのか、から考えよう。
同じグループ化で何の繋がりもなく、サブクエリで週毎の値を
いっぱい返されてもAccessは困っちゃうよな。なぜ、
SELECT DISTINCTROW StDev([A]) FROM DataTable
WHERE 〜 GROUP BY 〜
じゃダメなんだ?
一時変数の使い方解ったよ
502 :
486 :2006/06/10(土) 18:35:22
>>500 やってみてます。
SELECT StDev(Avg(DataTable.A)) AS 3Aの平均の標準偏差
FROM DataTable
WHERE ( 略 )
GROUP BY Year([DataTable]![Date])*100+DatePart("ww",[DataTable]![Date]);
とやると「式で StDev(Avg(DataTable.A))の集計関数は使えない」と言うエラーが出ます。
また初心者なりに、このクエリ式では確かに、「週の平均の標準偏差」を表していないような気もします。
計算式の意味では週の平均の標準偏差は、日々の標準偏差より、変化が相殺されて小さくなることが多いです。
その相殺され方や安定度を知るのが目的なので。
参考意見ありがとうございます。
503 :
sage :2006/06/10(土) 20:03:08
>>502 ホントにヘルプ見たのか?
「引数 expr のオペランドには・・・ SQL 集計関数は指定できません。」ってあるんだが。
504 :
名無しさん@そうだ選挙にいこう :2006/06/10(土) 22:27:56
WindowsXP Access2000の環境下でsubstitute関数は使えるのでしょうか? どうもうまくいきません。
506 :
504 :2006/06/10(土) 23:38:09
>505 TNX
>>502 じゃあ、平均を集計したクエリをテーブルのように扱って更にクエリに
すればいいじゃん。SELECT StDev([Avg_A]) FROM クエリ1
みたいによ。
これだってヘルプ読めば理解できそうだが。何でもかんでもヘルプ
読めって訳じゃなくて、アナタの場合はヘルプを読んで理解しようとも
せずに2chで質問してるように受け取れるのだ。
サブクエリでWHERE条件指定したいなら SELECT StDev(qry1.Avg_A) AS 3Aの平均の標準偏差 FROM (SELECT Avg(DataTable.A)) AS Avg_A FROM DataTable WHERE ( 略 ) GROUP BY Year([DataTable]![Date])*100+DatePart("ww",[DataTable]![Date]) AS qry1;
509 :
486 :2006/06/11(日) 13:17:16
>>507-508 ありがとうございます。出来ました。!!!
考えとしては、そのようにクエリを1度作ってそこから標準偏差を算出する方向で
調べていたのですが、1時テーブルとかで却って混乱してました。
アクセスのヘルプでサブクエリを利用する場合、WHERE条件や演算フィールドの例が
多かったので、このFROMにクエリを指定するのは気が付きませんでした。
指摘のようにヘルプやネットでの調べる能力と理解力が低いのだと思います。
とても助かりました。
ACCESSで現在ある程度入力が終わっっているのですが、 バグが見つかりました。 そこでAccessの問題のあったモジュールだけを差し替えたいと思います。 これをプログラムを書いて、それを実行することにより データの入ったAccessのモジュールを修正したモジュールと差し替えたいと思うのですが、 プログラム上からモジュールのインポートと解放をするにはどうしたら良いのでしょうか?
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 前年 クエリ 等(検索キーワードが思いつかなかった) 現在アクセスにて支店管理を行っているのですがどのようにクエリを作成してよいかわかりません。 実際どのようにしたいのかというと1年間のクロス集計を行いたいのです。それ自体はできるのですが、 昨年度の年度末(3月)の残高を入れようとするとうまく作ることが出来ません。 【年度】【月】【支店番号】【残高】のフィールドがある【テーブルA】を元に、行に【支店番号】、列に【月】を基準にして 【Q_クロス集計】を作成します。 次に【テーブルA】から昨年度のフィルタを掛け3月末を抜き出し【Q_昨年度】のクエリを作成し、 【Q_クロス集計】と【Q_昨年度】を結合させたクエリを作成します。 この結合させたクエリを使用すると「forms!F_Main!年を有効なフィールド名、または式として認識できません」と エラーになってしまいます。【Q_クロス集計】【Q_昨年度】自体は開くのですが、結合すると開かなくなります。 やはり同じテーブルから別々にクエリを作成し、そのクエリを1つのクエリにすると出来ないのでしょうか? また、この方法以外になにか良い方法はないでしょうか?よろしくお願いいたします。
眠くて質問が理解できない
おやすみ
【 システム環境 . 】 WindowsXP, Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 否 【 検索キーワード 】 Access ファイル 開かない 初心者同然の質問なのですが…。 今まで使っていたmbdファイルが突然開かなくなってしまいました。 何かヒントになるような動作をすればいいのですが、 該当ファイルを開く→まったく反応なし で手がかりすらありません。 もしや、これはファイルが壊れてしまったのでしょうか……。 ツールからデーターベースの修復をかけても、 まったく無反応でした。 どなたかわかる方、対処方法をご教授下さい。
515 :
511 :2006/06/12(月) 17:10:00
えっと、どの様に説明してよいか分からないのですけど、フィールドが【年度】【月】【支店番号】【残高】 の4つの項目からなっており、まず【年度】フィールドから2006年だけを抜きだします。 その後、行に【支店番号】、列に【月】を基準にしてクロス集計を行います。 |4月|5月|6月|7月|・・・・ ________________ 001 |値 |値 |値 |値 |・・・・ ________________ 002 |値 |値 |値 |値 |・・・・ ________________ のようなクロス集計クエリを作成したいのです。その後、昨年度つまり2005年の3月末を期首値として新たに フィールに加えたいのです。最終的に以下のようにしたいです。 |期首値|4月|5月|6月|7月|・・・・ ____________________ 001 | 値 |値 |値 |値 |値 |・・・・ ____________________ 002 | 値 |値 |値 |値 |値 |・・・・ ____________________
>>516 ああ、すみません(汗 accessはmdbでしたね。
その後、色々なサイトを見て回ったのですが、
どうやら壊れている可能性が高いようです。
最後にバックアップを取ったのが2年前なのもあり、
なんとかデータでも取り出したいのですが…。
うう、どうしよう(つд`)
>>517 適当に新しいmdbファイルを一個作って、そっちからインポートorリンク
は試してみた?
>>511 クロス集計クエリに関してならPARAMETERS宣言しないとそのエラーがでるけど
されていないなら宣言文入れてみては?
>>511 パラメータクエリは、OpenRecordsetでも開くことができないので、それを元にして
更にクエリは無理があります。VBAで、SQLを直接書き換える方法でWHERE設定
するように変更すればいいかと。
最後にWHEREだと処理に時間がかかる可能性がありますが、安易に出来るので
あればクエリとクエリを結合させたクエリで、パラメータでのWHEREにするとか。
Win2000、Acc97です。 あるPCに入っているmdbを他のPCにコピーした場合、 VBの参照設定やテキスト変換定義、自分で作成したツールバーも 引き継がれますか?
やってみればすぐ分かると思うよ
分からないんですね。 ありがとうございました。
Office Access 2007 とユーザーレベルのセキュリティ Office Access 2007 では、新しいファイル形式 (.accdb および .accde ファイル) で作成されたデータベースに対してはユーザーレベルのセキュリティが提供されません
>>522 引き継がれますか?って、その設定は全てmdb固有でmdbに
情報として保存されるから、引き継ぐっていうより丸ごと持って
行くんだから、どのPCでも同じ設定だろってことだ。
根拠となるソースを提示して貰えませんか?
527は質問者だったりしてw
win xp home access 2000 クエリの項目が消えて困っています。 クエリのデザインビューで、「表示」項目のチェックを外すと、ビュー画面で表示されなくなりますが。このクエリを保存して再度開くと、ただ表示されないだけではなく、クエリの項目そのものから消えてしまいました。 今まではそんな現象を見た事がありませんし、特に設定をいじった訳ではないのですが、何が原因でしょうか。 お分かりになる方どうぞよろしくお願いします。
うわっ、改行忘れてました。読みにくくてすいません。
>>530 今まで消えてなかったことの方が驚きなんだが、本当か?
表示チェック外してもwhere条件入れてたとかじゃないのか?
思い切りグループ化用のフィールドじゃないか……
535 :
530 :2006/06/14(水) 21:22:04
グループ化している場合は有効なのですか、知らなかった…。 勉強して出直してきます! ありがとうございました!
>>535 SELECT文のどこかにフィールドが使われてるかどうかでわかる。
537 :
名無しさん@そうだ選挙にいこう :2006/06/15(木) 10:56:01
【 システム環境 . 】 WindowsXP(Win2000でも使用したい), Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 ACCESS CSV インポート 自動 4000個のcsvファイルをAccessに(4000個の)テーブルとしてインポートしたい。 手動では、 ([ファイル]→[外部データの取り込み]→[インポート]→[csvを指定])×4000回 の作業が必要になるので、自動化したい。 またその際に ・テーブル名はファイル名を指定 ・フィールド名とデータ型を任意指定(全ファイル共通) も同時に行いたい。 この方法があればお教えいただけますでしょうか。 ※--- もし不可能であれば 「Postgresql」または「MySQL」(ともにWindows, Linuxどちらでも) では可能でしょうか?
538 :
537 :2006/06/15(木) 11:05:23
補足です。 ・当方、Perlは使えます。 ・ファイル名一覧のテキストファイル(改行区切り)は存在しています。
4000個もテーブル作るのか…… 普通にADO&ADOXでいいんじゃないかな。CSVだし。
540 :
すず :2006/06/15(木) 15:04:30
よろしくお願いします。 【 システム環境 . 】 Win2000、 Access2000 【 VBAが使えるか .】 ちょっと 【 VBAでの回答 】 可 【 検索キーワード 】 日付 全角 テーブルに保存された日付をレポートに全角で出力したいのですが、 半角での出力のやり方しかわかりません。 書式は「日付(L)」です。 「2006年06月15日」→「2006年06月15日」 上記のようにしたいわけです。 どなたかどうぞよろしくお願いします。
542 :
すず :2006/06/15(木) 16:07:02
541さん!できました。ありがとうございました。 =StrConv(Format([日付1],"日付 (L)"),4)
543 :
すず :2006/06/15(木) 17:02:16
間違えました。 =StrConv(Format([日付1],"yyyy\年mm\月dd\日"),4) でした。
>>537 mdbファイル一個あたりのテーブル保有数の上限とか、そのあたりにさえ引っ掛からなければ
可能だけれど……
それより、なぜわざわざcsvファイル毎にテーブルを作る必要があるのか、それを聞きたい
545 :
名無しさん@そうだ選挙にいこう :2006/06/15(木) 20:07:35
【 システム環境 . 】 WindowsXP, Access2000 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 ? 【 検索キーワード 】 Windows 画像と FAXビューア フルパス ど素人ですがネットでいろいろと探しコピーして貼り付けて ここ変えたらどうなる?と試行錯誤中です。 「Windows 画像と FAXビューア」で画像を開きたいのですが フルパスがわかりません。教えてください。 今は これでとりあえず開けているのですが・・・ Call Shell("C:\Program Files\Internet Explorer\iexplore.exe C:\xxx\画像\1.jpg", 1) 質問の仕方もおかしいかも知れませんが よろしくお願いします。
>>546 すみません 質問の仕方が悪かったみたいです。
フォームにイメージがあって コンボボックスで変わるのですが
クリックしたときに その画像を「Windows 画像と FAXビューア」で
開きたいのですが・・・
>>547 to Access20007 、ずっと添付ファイルで簡単にできるぞ
ずいぶん先だなオイ。。。
>>537 なにはともあれ、VBA使えばできるってことだ。
Perlがわかるなら、VBAだってすぐ理解できるさ。
552 :
537 :2006/06/16(金) 08:53:44
>>539 素早い反応どうもです。
ADO&ADOX … ぱっと調べてみたところいまいちイメージがつきませんでしたが、
もう少し調べてみようと思います。
ありがとうございました。
>>544 Access2000ではテーブル数とレコード数の上限というものは無いようで
容量(1GBまで)制限みたいですね。
今回、1テーブルにすると約3000万レコードくらいで、
さらにどんどん増えていく予定だったので
こりゃぁダメだと思ってたんですが、
1GBだったら何とかなりそうな気がしてきました。
という訳で、SQLのレスポンスを考えても
テーブルを分ける意味が無いということに気づきました。
>>551 VBAで可能なんですね。
もしお時間がありましたら、VBAコマンドのヒントなど
いただければ幸いです。
ちなみに、PerlのDBIモジュールを使うことで
希望の動作はできそうだということがわかりました。
----
結論として、
PerlのDBIモジュールを使用して1テーブルにINSERTしていくことにしました。
お騒がせ致しました。
マクロで良いじゃん
>>552 VBAが使えないなら
csvをperlとかsedで一つにしてからインポートすればいいんじゃない?
perlからmdbなりポスグレなりにインポートすればいいんでないの? Accessが何故必要なのか分からないけど、フォームから呼び出したいんだろうか。
アフォ? 一回だけインポートするかどうかは分からんだろ もしかしたら定期的にするのかもしれんし
557 :
537 :2006/06/16(金) 10:32:09
皆さんいろいろと回答ありがとうございます。 すいません、まず本当の目的を書いておくべきでした。 【目的】 ブラウザから、Perl(CGI)でデータを検索したいと考えています。 【現状】 Perlで定期的に、ウェブ上のデータをcsvに差分で落とし込んでいます。 そして4000個のcsvファイルからPerlのスクリプトを使って 随時、目的のデータを検索していました。 【今後の予定】 検索速度の向上と、いずれはこの検索を外部に公開することを考え、 「Apache + データベース + Perl(CGI) (できれば +Ajax)」 で環境を構築したいと考えています。 この目的が達せられるならば、 実のところ「Linux」でも「他のDB」でも良いのですが スクリプト言語はPerlを考えています。 (余程速度の違いが見られるならば他の言語も検討します…) 【今のお気持ち】 Windowsで扱いやすいかなというのと、 AccessVBAでどんな素敵なことができるのか興味があったので、 「Apache + AccessMDB + Perl(CGI)」での構築を想定しています。 とりあえず、 現状の「複数のcsvに落とし込むスクリプト」を修正して、 直接mdbの1テーブルにINSERTしていこうと考えています。
アクセスから直接web上のデータを取得したほうがよくないかな? 複数のソフト併用だと保守・管理が面倒そう・・・
教えてください。 ツール-セキュリティ-データベースパスワードの設定で "hogehoge"というパスワードを掛けたとします。 このmdbを別のmdbから開く際に CON.Open "Probider=Microsoft.Jet.OLEDB.4.0;Data Source= Foo;Password='hogehoge'” としたところOpenに失敗します。 エラーメッセージは次の通り 実行時エラー-2147217843(80040e4d) アプリケーションを起動できません。システムデータベースが存在しないか、または他のユーザーが排他的にシステムデーターベースを開いています。 とでます。 もちろんmdbは存在しますし、パスワードを解除してOpenのPasswordの部分を消して開くとちゃんと開いて レコードセットもとれるのですが・・・ パスワードの前にUserId=adminを入れても上と同じメッセージがでて開きません。 いろいろと調べては見たのですが書式は間違っていないようですし、他の開き方もちょっとわかりませんでした。 わかる方いらっしゃいましたらお知恵をお貸しください。 【OS】・・・XP 【Ver】・・2003
>>559 Password=のクォーテーションをはずす
561 :
560 :2006/06/16(金) 13:05:04
追伸 Probider= → Provider=
562 :
559 :2006/06/16(金) 13:17:10
>>560 シングルクォーテはずしてもだめですた;;
Providerは単なるtypoです^^;
563 :
559 :2006/06/16(金) 14:17:35
自己解決しました。 Jet OLEDB:Database Password=hogehoge; 上記で抜けました ありがとうございます。
564 :
537 :2006/06/16(金) 18:57:22
> アクセスから直接web上のデータを取得 というのは、Excelでいう「Webクエリ」のようなイメージでしょうか? 取得数が多い(4000程度ですが)ので所要時間が心配です。 マルチスレッドのような感じで、同時に複数の取り込み ができるならば是非とも取り入れたいのですが・・
無理だし、WEBでその件数・処理速度を要求する時点でAccessは やめなさい。仕様上1GBにしたって、あくまで仕様上実現できるだ けさ。その10分の1ぐらいのサイズで遅さが目立つことがある。
>>565 何か勘違いしてない?
データの取得だけだよ
あとはローカルPC
ローカルでも一緒だし。Accessにそこまでの処理能力ねぇもん。
なんか「Access」というタームで、フロントエンドアプリとしての Microsoft Access と、DB としての Jet が一緒くたになってる 気がするんだけど。 「ブラウザから、Perl(CGI)でデータを検索したい」とか、「スクリプト 言語はPerlを考えています」って時点で、Access 関係ない気が しているのは漏れだけ? Perl から ODBC なり OLE モジュールなりで Jet DB に直接続 すればいいだけの話じゃないの? Access も VBA も、どこにも 絡まないように見えるんだけど、本人かエスパーさんに一度話を 整理してほしいわ。 レスの不毛度が増していってる気がするから。
>>568 そういうことレスしたらアフォ?と返されたから放置した方が良い
>>569 なるほど。
読み返したら、たしかにそういう展開だった。w
>552 の容量制限1GB発言にツッコミが無かったようなので、
そこだけフォローして終了。
Jet4.0は容量2GBまでです。ただし理論値なので、漏れなら
その前に逃げるw。ほいじゃ健闘を祈る。
プログラマが嫌われる理由が分かった気がする
こんにちは、エスパーです。
>>568 の通りですね
結局、Windowsで扱いやすそうな箱(DB)が欲しかったんです。
できればVBAとかもついでに勉強できればうれしい
こんな中途半端な考えでした。
混乱させてしまってすいません。
やはり、PostgresかMySQLでやろうと思います。
フォローもありがとうございました
何だかんだでみんなやさしい
573 :
名無しさん@そうだ選挙にいこう :2006/06/17(土) 16:33:15
アクセスとエクセルどっちを使うべきかいつも迷うんだけど どうやって選べばいい?
桐にしとけ
大正解!
やっぱ経理処理は桐で決まりだよな。
システム環境 . 】 WindowsXp, Access2003 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】・否 【 検索キーワード 】 Googleやヘルプでの検索キーワード ウィンドウズ98で使っていたもの(ベクターでのアクセスを使ったフリーソフト) がXPのパソコンでは以下のように出て動きません アクションの実行エラー マクロ名:AutoExec 条件:Tlue アクション名:プロシージャの実行 引数:LinkCheck() 実はXPで使っていたファイルを98に移動した、 98に移動したとき「リンク作業に成功しました」とか言われたのが悪かったのかな どうしたらよいのでしょうか?
作者に聞けば良いんじゃないのかな
作者がいなくなっちゃいました
諦めたら?
【システム環境】 WindowsXP, Access2000 【VBAが使えるか】 いいえ 【VBAでの回答】 なるべく否 【検索キーワード】 サブフォーム・抽出・印刷・しない、など… アクセス初心者でVBAは殆どわかりませんがよろしくお願い致します。 今、請求書を作っています。 レポートのページヘッダーに相手の会社名や住所など印刷するようにし 詳細の部分にサブフォームで請求内容を複数行表示させています。 サブフォームはクエリを使って、一定の期間を抽出できるようにしました。 で、一定の期間の請求内容を抽出するわけですが… 例えば、6月1日〜6月30日分を抽出したときに、A社は4件、B社は0件、C社は2件 抽出された場合、A社とC社だけを印刷したいのですが、現状ではB社の ページヘッダーだけ印刷されてしまうのです。 データを抽出した結果、サブフォームが空の会社を印刷しないようにしたいのですが どのようにすれば良いでしょうか?どうぞよろしくお願い致します。
日本語で頼む
レポートにサブフォーム使うのはどうかと思う
>>581 使うならサブレポートだけど、それさえも不要な基本だよね。それを
伝えるのは難しそうな気がするけど、とりあえずはサブ〜で使ってる
クエリをメインレポートのソースに持ってこよう。んで、会社名とか
必要な情報をテーブル結合して引っ張ってきて、詳細は情報1行だ
けのデザイン設定をすればいい。
VBAも不要。単なる勉強不足。
585 :
581 :2006/06/19(月) 23:11:23
元はフォームで作っていたのですが、印刷メインならレポートの方がいいのか? と思い、フォームをそのままレポートに貼り付けちゃったのが不味かったですかね…。 とりあえず584さんのレスを元にもっと色々といじってみます。 日本語とアクセス勉強して出直してきまつ(´・ω・`)
586 :
559 :2006/06/20(火) 14:58:23
>>585 サブにつかってるクエリが会社名・住所・詳細だったとして
サブでつかってるクエリをメインのレコードソースにする
表示-グループ化で会社名でグルーピングする
この時にグループヘッダーを作っておく
上で作ったグループヘッダーに会社名・住所のコントロールを作成連結させる
で、レポートの詳細ってところにクエリの詳細のコントロールを作成連結させる。
これで会社毎に請求書が出来上がるはずです。
テーブル構成が判らないので何とも言えませんが
詳細が0件でもこの場合出力されてしまうのでクエリの方でカウント取るとかして
0件ははじいちゃえばVBAも何もいらないですよ
アクセスは最初とっつきにくいかもしれませんが魔法使いの開発工房とかみて頑張ってください。
Report_NoDataイベント使おうぜ……
質問なのですが サブフォーム(帳票タイプ)の金額(データは数値型)を、 サブフォームのフォームヘッダー上にコントロールボックスおいて そこに=SUM([金額])と書けば、サブフォーム全件の金額を集計できますが、 「サブフォーム内のデータのうち、フラグが「1」のもののみ集計 というのをしたいのです。 サブフォームの詳細部分にコントロールボックス(集計用_金額)を新設し、そこで =iif([フラグ]="1","[金額],0) とし、その集計用_金額をsumすればいけるのかと思ったのですが、 「エラー」 とでてしまいます。(無論「集計用_金額」は普通に思ったとおりの数字が表示されます) 集計用_金額のコントロールソースを =sum([集計用_金額]) から =[集計用_金額] と変えると、内訳1行目の金額が表示されるので、名前の指定ミスということはないようなのですが・・・ 解決策を教えてくださいm(__)m
フラグが文字列なのが気持ち悪いが、 =Sum(IIf([フラグ]="1",[金額],0)
590 :
588 :2006/06/21(水) 00:07:10
>>589 レスありがとうございます!
職場行ったら試して見ます
>>589 )がたりないおぉ。
>>588 オレは、サブフォームのレコードソースがクエリなら、クエリで演算して
しまった方がいいのではと思う。
SELECTの部分で表すと、IIf([フラグ]="1",[金額],0) AS 集計対象
なんて感じで、フォームの方で=Sum([集計対象]) って感じ。
592 :
588 :2006/06/21(水) 12:40:52
>>589 591
ありがとうございました。589の書き方でうまくできました。
593 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 09:22:43
Access:2000(近日2003にup予定) OS:XPpro 使用目的:顧客管理 顧客へ郵送物を出す際の、「印刷選択フォーム」があります。 フォームのソースはクエリです。 印刷したい顧客を選択し、ラベル作成などはできています (選択フォームに表示されているのは顧客No、顧客名、担当者名のみ) ↓ 選択したあて先のうち、 郵便番号が「100」で始まるもの と そうでないもの をそれぞれカウントしてフォームのフッタに表示したいのです。 それぞれカウントするクエリはできて、正常に動きます。 が フォームのレコードソースでない「郵便番号カウントクエリ」を どうやってフッタに表示させたらいいかががわかりません。 テキストボックスのコントロールソースに色々書いてみましたがうまくいかず。 どの様にしたらいいでしょうか。
割れっぽいな
595 :
すず :2006/06/23(金) 16:36:03
よろしくお願いします。 【 システム環境 . 】 Win2000、 Access2000 【 VBAが使えるか .】 ちょっと 【 VBAでの回答 】 可 【 検索キーワード 】 最新の日付 テーブルの構成 機械ID 修理完了日 テーブルの中には同じ機械IDが複数あり、1つの機械IDに対して 修理完了日が最新のものだけを抽出したい。 例 機械ID 修理完了日 1 1999/4/1 1 2000/5/4 上記のような場合、2行目の2000/5/4のデータだけを抽出したいのです。 かなり初歩的なのでしょうが、自分にとっては高難度です。 よろしくお願いします。
グループ化してmax([修理完了日])とか
>>595 漏れも597の手法でやっているよ。集計クエリーで日付最大を抽出
フィールドがこれだけなら集計クエリー1本でok。
それ以外のフィールドもあるのであれば、元データと集計クエリーとを
IDと日付で結合させればOK
ところで
Access2002 SP3 で作成したAccess2000形式のmdb(フロントエンド部分とデータ部分けて
データ部はサーバー保管。テスト用はローカルに)なんだけど、
テスト用を本番環境にアップする際に、Access2002形式にしたあとmde形式に変換。
んでリンクをローカルからサーバに変更したところ、SP3が入っているマシンなら何の問題も
ないんだけど、Access2002 SP2 のマシンだと幾つかのクエリーが開かない問題が出た。
上で書いた最新データ抽出の集計クエリーを使ったものが開かない
リンクの張りなおしの前にAccess2002形式にしたのが原因かと思い、先にリンク張りなおし
しても解決せず。
SP2側でmde変換&リンク張りなおししたところ、問題解決したんだけど
これってSP2とSP3でリンクの張り方とか、mde形式とかが変わったんでしょうか?
ご存知の方教えてくださいm(__)m
ちなみに、mdb形式の時は起動までに20秒位掛かったんだけど、mdeにしたら一瞬で開くよう
になりました。スゲー高速化!
ひとつ質問させてください。 クエリデザインのフィールド欄に IIf(Nz(Forms!FRM!txtBox,"") ="",True,[対象フィールド名] = Forms!FRM!txtBox) とかけば、パラメータクエリのパラメータが空白のときに、全レコードを抽出してくれると書いてあり、 それを使ってみたんだけど、これの最後の [対象フィールド名] = Forms!FRM!txtBox を部分一致にできませんか? IIf(Nz(Forms!FRM!txtBox,"") ="",True,[対象フィールド名] = Like "*" & Forms!FRM!txtBox & "*") みたいな感じにできないでしょうか?
うわぁ……
>>600 IIf(Nz(Forms!FRM!txtBox,"") ="",True,[対象フィールド名] Like "*" & Forms!FRM!txtBox & "*")
携帯から失礼します Access97です ダイアログボックスを利用したフォームの入力で、処理用のマクロに、[値を代入]アクションを使い、アイテムにコントロール名を入れると思うんですが、、
複数のコントロールボックスから1つのダイアログボックスを参照した場合、それぞれのコントロールに値を代入するにはどうすれば良いですか? お願いします。。
OpenArgs プロパティで伝言しる。
606 :
名無しさん@そうだ選挙にいこう :2006/06/27(火) 02:19:24
久々に見た迷惑野郎 400 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2006/06/26(月) 22:46:33 Office2007を仕事用のPCに入れたらOutlookメール(Exchange鯖)が受信できなくなり、 アンインスコしても状況変わらずで、OSから入れ直す羽目になりました。 PCの調子が悪いといって誤魔化したけど。
607 :
595 :2006/06/27(火) 17:32:22
597、598さん。できました。ありがとうございました。
608 :
名無しさん@そうだ選挙にいこう :2006/06/27(火) 20:56:44
win2000,Access2000 sendobjectでnatscapeeを立ち上げる際、宛先に30件程指定すると 約20件以降のアドレスが文字化けしてしまうんですが、どこかに 問題がありのでしょうか? それとも仕様?
609 :
名無しさん@そうだ選挙にいこう :2006/06/27(火) 22:41:37
コマンドボタンからスクリーンセーバー出すのってどうやるんでしょ Call Shell("スクリーンセーバーファイルのパス",1) とかやると、何か変な設定画面が出て来ちゃう
/s つーか、キモイからcallすんな
すみません、ほんのちょっとだけは分かったような気がするようなしないような /s これって、以前一度だけやったことがあるんですけど多分.batファイルの書き方ですよね いま パス /s で batファイルつくってみたら起動できました で、どうなんでしょ 次に思いついたのは Call Shell("そのbatファイルのパス",1) なんですけど、やっぱキモいですか
うん
キモくないやりかたおしえてください
やだ
もういいもん
>>611 なぜキモいのか考えればすぐに分かるとおもう
617 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 14:45:41
【 システム環境 . 】 Windows XP SP2, Access2003 SP2, SQL Server2005 【 VBAが使えるか .】 はい 【 VBAでの回答 】 否 【 検索キーワード 】 ODBC リンク AccessからSQL Serverへのリンクを行いたいのですが、 「テーブルのリンク」→「ファイルの種類」→「ODBCデータベース()」を選択すると、 ODBCデータソースのウィンドウ自体が表示されなくなりました。 エラー等も表示されません。 原因がわかる方はご教授願えればと思います。 よろしくお願いします。 (ちなみに管理ツールからODBCデータソースアドミニストレータは表示できます。Accessの再インストールでもダメでした…)
引数を1ではなく0にするかまたは省略すれば キモさがちょっと減ることだけは分かっちゃったもん
違うだろ・・・
2007の行レベルトラッキングってどうやるの?
621 :
あ :2006/06/30(金) 00:48:43
A行B行C行がブランク、D行タイトル、 E行からデータという形のテーブルを上手く取り込むには どうしたら良いでしょうか?
>>621 エクセルのデータ部に名前を定義してしまえば?
オートナンバーのおまけフィールドでも付ければ出来るだろうが そんなテーブル、俺は認めないぞ いや誰が何と言おうと
そういう場合は諦めてExcelのOblect Library使う
Oblect……
【 システム環境 . 】 WindowsXP SP2, Access2000 【 VBAが使えるか .】 ちょっぴり 【 VBAでの回答 】 可 【 検索キーワード 】 テキスト型 日付型 変換 関数 etc... ものすごく初歩的な質問で申し訳ないのですが、テーブル上に例えば「2000」というテキスト型の データがあるとして、クエリ上でこれを「2000/04/01」という日付型に変換したいのですが、 どういう風に記述すれば出来るのでしょうか?なお、テーブルの方は変更できません。 Cdate、DateAdd、Format関数等色々試しましたが出来ませんでした。
>>627 出来なかったというcdateでもいいしdateaserialでもいい。
cdateなら、cdate([FieldTextDate]&"/04/01")
dateserialなら、dateaserial(cint([FieldTextDate]),4,1)
かな。どっちも4/1限定だが。
>>628 なぜかはよくわかりませんが、Cdateを使って例文通りやっても出来ませんでしたが、
DateSerialの方で目的の作業が出来ました。
どうもありがとうございました。
DateValue([FieldTextDate] & "/04/01") とか
>>629 君がおかしなことやってるから出来なかったんだよ。例文通りじゃなく、
状況説明とこう指定したんだけどってのがないと、どこがいけなかった
のか指摘できない。
まぁ、DateSerialでできたならよかったね、だけど。
632 :
名無しさん@そうだ選挙にいこう :2006/07/01(土) 06:11:44
DVDトレイにモノが入っていたら内容に関わらずプレイ開始 入ってなければ無視 なことがやりたかったりしますが、さっぱり方法が分かりません access vba cd dvd 実行とかでググると何だか教材の紹介ばかり出てきます コード丸ごと欲しいなんて贅沢は言いません せめて何かヒントください
635 :
名無しさん@そうだ選挙にいこう :2006/07/01(土) 16:02:59
ACCESSで重複クエリを作ろうとしたら「追加インストールして下さい」 と出たのですが、 こういうのって不便なのですが、どうしてなのでしょうか?? 変な質問ですみません(>_<)
フルインスコしとけ
637 :
名無しさん@そうだ選挙にいこう :2006/07/02(日) 00:14:25
【 システム環境 . 】 WindowsXPホームエディション, Access2003 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 可 サブフォームを含むフォームでの、タブオーダーについて質問させてください。 【現象】 サブフォームを含むフォームで、タブオーダーの順序通りにカーソルが移動しない。 (サブフォーム内のテキストボックスで、カーソルが移動しなくなる) 【再現方法】 1.サブフォームを含むフォームを作成します(メインフォーム名をform1、サブフォーム名をform2とします。)。 2.form1にはサブフォーム(form2)のほかにテキストボックスが2個あります。」 3.タブオーダーの順序は次のとおりです。 (1) form1のテキストボックス1 (2) form2のテキストボックス1 (3) form1のテキストボックス2 4.タブボタンを押してカーソルを移動させると、form2内にあるテキストボックス1でカーソルがストップします。 (タブボタンを押しても、form2のテキストボックス1からform1のテキストボックス2へカーソルが移動しない。) 【質問】 この現象が起こる理由と、対処方法を教えてください。 よろしくお願いします。
638 :
>>637 :2006/07/02(日) 00:39:04
追加情報です。 サブフォーム(form2)のテキストボックス1において、キークリック時のイベントとして、 次のイベントプロシージャを作成してみました。 Private Sub テキストボックス1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 9 Then Forms!form1!テキストボックス2.SetFocus End If End Sub しかし、TABボタンを押しても、form1のテキストボックス2にカーソルが移動することはありませんでした。 form1のテキストボックス1とform2のテキストボックス1の間を、カーソルが行ったりきたりするばかりです。 form1のテキストボックス2はタブオーダーで3番目に設定されているにもかかわらず無視されています。 以上、追加情報でした。よろしくお願いします。
640 :
>>637>>638 :2006/07/02(日) 14:47:51
>>639 どうもありがとうございました。さっそく読んでみます。
【 システム環境 . 】 WindowsXP, Access2002 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 レポートの質問です。 プレビューしたときESCキーを押すとレポートが閉じてしまいますが、 ESCキーを押しても閉じないように(ESCキーを効かないように)できないでしょうか? いろいろ探しているのですが、それらしいものが見つかりません。
642 :
名無しさん@そうだ選挙にいこう :2006/07/05(水) 23:53:54
【 システム環境 . 】 WindowsXP, Access2002 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 以下について教えてください。 ・モジュールをテキストファイルに保存する方法 ・クエリのSQL文をテキストファイルに保存する方法 いずれも、大量のMDBを何度も処理する必要があるので 手でコピペなどではなく、バッチ実行できるようなやり方で おねがいします。
>>642 専用のMDBを用意してVBA作成。
目的のMDBを開いて、やりたいことをやるVBAを作っておけばいいって
ことさ。モジュールの方は今すぐには出てこないが、クエリならQuerydef
使ってSQLでSQL文取得できるだろ。
644 :
与作 :2006/07/06(木) 11:58:18
"Jet OLEDB:Database Password=hogehoge"を追記してみてはどうでしょう
645 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 13:23:24
追記してみました。ありがとう
646 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 16:29:46
マクロの内容をVBAで取得するにはどうすればよいでしょうか?もしかしてできない?
648 :
646 :2006/07/06(木) 16:44:41
>>647 おおっ!すげぇびっくりした。というわけでありがとう。
Access97だけど2000に変換して使ってみたらOKだった。さんきゅ。
649 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 19:22:45
>>641 そんな機能はない。
たぶん、自前でメッセージをフックして、WM_ESCAPE か
なんかを握りつぶす必要があると思われ。
やったことはないので間違ってるかもしらんが。
ところで、>649 は >634 の念押し?
【 システム環境 . 】 WindowsXP, Access2002 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 データベース部分を入力プログラム部分と切り離したいと思います。 で、VBで作り直そうと思ったのですが、VBAで作ったフォームを再利用出来ますか?
不可
テンプレから敢えて「検索キーワード」を外してるところを見ると、 何も検索してないのか。 シェアウェアが幾つもあるだろうに。
VB6.0だったらフォーム用mdbとデータ用mdbに分けるだけで良いじゃん……
656 :
名無しさん@そうだ選挙にいこう :2006/07/08(土) 23:19:11
フィールド内で改行することってできないの??????
ctrl押しながらエンター押せ
教えて君はスルーしろ
659 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 00:12:48
お世話になります。 【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 はい(コピペの加工までかろうじて) 【 VBAでの回答 】 可 【 検索キーワード 】 OLE ファイル名 *作ってるもの 社員証みないな画像付き一覧です。 フォームのOLEフィールドにBMPをドラッグ&ドロップすれば表示されますが、 JPGだと表示されない、リンク画像にしたい。 PC初心者でもマウス操作(ドラッグ&ドロップ)で画像を登録できるようにしたい。 *構造 ファイルの上位パスは決まっており、規定値で指定、中位パス(フォルダ名)はコンボリストから選択。下位パスはファイル名 そして1つのテキストボックスに上位パス(規定値)、中位パス(コンボ選択)、下位パス(ファイル名)をつなげて表示させイメージコントロールでフォームを開いたとき(レコード移動時)にパスを読み込んでプレビューさせたいと思っています。 *フォーム上の見た目はイメージコントロールとOLEフレームは重ねてあります。 *質問 フォームのOLEフィールドにドラッグ&ドロップしたJPG画像のファイル名を テキストボックスに表示・取得させたいのですが、何か方法ございませんでしょうか? よろしくお願い致します。
661 :
660 :2006/07/10(月) 19:31:25
すんません、ドラッグ&ドロップしたらリンクにならず、結局肥大化の原因になりますね。 出直してきますorz
画像系の質問が出たので、便乗なのですが Access2002の環境です 画像のファイル名を、特定の場所に 主キー+連番 でユーザに作成させておき、 Accessでその主キーのデータを読み込ませた時に その主キーに関連する画像ファイルをフォーム・レポートに表示させたい (マウスのホイール操作で順番に表示させるのが望ましい)のですが どのようなロジックを組めばできそうでしょうか? よろしければ教えてくださいm(__)m
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 検索ワードが思いつかない アクセスでクエリを作るときに任意の検索基準(たとえば日付など)を設定するときに 毎回検索ワードが違う場合があります。その際にクエリの抽出条件の欄に [forms]![フォーム名]![コントロール名] によってフォーム上のコントロールの値によって検索ワードを指定します。 通常は上記の方法でうまくいくのですがたまに(クロス集計等) 【 [forms]![フォーム名]![コントロール名] を有効なフィールド名、または式として認識できません。 】 のようになってしまいます。そこを[forms]![フォーム名]![コントロール名]から値に変えるとうまく集計できます。 上記のようなエラーがでる場合はどのような時なのでしょうか?また回避方法はあるのでしょうか? よろしくお願いいたします。
>>664 前のレスに載っていましたね。ご迷惑おかけしました。
パラメータで少し調べてみたら任意の値についてはそれが何の形になるのかを
宣言しないといけないのですね。
スレ汚しすいませんでした。
access2007は完全にパーソナル向けです。 システム開発して従業員に操作させる用途にはダメダメです。 終了しますた。
ありゃ、せっかく仕事に役に立つかと思って勉強したのに、 ママが家計簿作るくらいしかできないソフトになっちゃうんだ。 2007はどんなところがだめになっているの?
.NETに移行しろということか
2007はユーザーレベルセキュリティがありませんし、オブジェクトが全て見えて隠せません。 使用者は壊すも改変するもやり放題。 一応、MDEみたいのはあるけど、それでもフォームのデータソースになってるクエリの改変も自由自在。
マジかよ。全く使えなくなってるじゃん。 2003使い続けるか、VBと適当なDBM組み合わせるしかないのか。
2007を業務で使うにはSQLサーバーかシェアポイントサーバーと組み合わせる必要があります。 それが嫌なら、桐にしとけ。
>>670 それで仕事が続けられるなんてうらやましい・・・
携帯は使いづらいっていって
ポケベルでがんばってた人を思い出した
share point saver
スペルミス share point server
>>673 仕事になるなら今のままでやればいいのでは?
ポケベルで十分な職種があるのと同じ
自分でソフトを選べるなんて羨ましいな いやまじめに
桐やSharePointServer、SQLServer導入するなら上司を説得するのが大変だろうな。
>>678 最近は自由な職場が増えてきてる
だって顧客情報が漏れまくってるでしょ
Accessは元々パスワードが簡単に解析できるからセキュリティ重視なら最初っから使うバカいないだろw あくまでも最初からパーソナル向けだよね
>>681 そうでもない
社会に出たことないのか?
自分の課だけとか、触る人間の限られている環境で使う分にはAccessでも十分だっただろ。 Access分かる人間がいないとExcelのシートをデータベース代わりに使っている事さえあるのだから。
弱小ベンダ死亡確認
685 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 14:22:41
【 システム環境 . 】 Windows2000, Access2003 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 複数のexcelファイルにデータベースがあり、 加えてaccessにもデータベーステーブルがありまして、 それらをaccess上で1つの新テーブルとして統合させ、 フォーム上で操作(検索&抽出程度)したいのですが、 どんな形式で組立てていったら簡潔でしょうか? ちなみにexcelのデータベース達はキーとなるフィールドはある程度共通でありますが、 それぞれ過不足のあるフィールドをもっております。共通のフィールドは1つのフィールドとして、 共通じゃないフィールドはそれぞれフィールドを追加して1つの新テーブルとしたいです。 excelのデータは1日に1回くらいの頻度で更新されるので、 その都度コマンドボタンで新テーブルも更新させられるような仕様で考えております。 アプローチの仕方だけでも教えて頂けたら幸いです。
>>685 一番手っ取り早いのは、ExcelのファイルをAccessのリンクテーブルに
してしまう事かな。データの実態は、Excelだけにある事になるので、
同期処理とかしなくてもいいしね。
688 :
643 :2006/07/13(木) 11:41:46
>>642 ,643
自己レスです。
'** Formをテキストに出力
For Each objFrm In acApp.CurrentProject.AllForms
SaveAsText acForm, objFrm.Name, objOutSubFol.Path & "\F_" & objFrm.Name & ".frm"
DoEvents
Next
'** Moduleをテキストに出力
For Each objMod In acApp.CurrentProject.AllModules
SaveAsText acModule, objMod.Name, objOutSubFol.Path & "\M_" & objMod.Name & ".bas"
DoEvents
Next
'** Reportをテキストに出力
For Each objRpt In acApp.CurrentProject.AllReports
SaveAsText acReport, objRpt.Name, objOutSubFol.Path & "\R_" & objRpt.Name & ".bas"
DoEvents
Next
こんな感じでなんとかできました。クエリは
>>643 氏の方法を使いました。
ありがとうございました。
質問 データベースをネットディスクにつくり 複数のPCでテーブルをリンクさせて使用しています。 そのうちの1台のPCが頻繁にネットワークエラーが発生して使えなくなりました。 何度かDBを作り直しても同じ症状が出るのですが解決策はないのでしょうか? 使用環境 XPProSP2 ACCESS2000使用
691 :
名無しさん@そうだ選挙にいこう :2006/07/18(火) 13:07:38
お世話になります ACCESSの勉強を始めました お世話になります。 【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 使えません 【 VBAでの回答 】 多分関係ないとおもいます クエリから作成したフォームの概念がわかりません クエリというものが分かっていないのかもしれません A(主テーブル)とB(関連テーブル)を作成して リレーションシップを構成しました キーはKというフィールドです Aテーブルからa1,a2,a3、Bテーブルからb1,b2,b3,Kというフィールドを 集めてクエリQを作成し クエリQからフォームFを作成しました Fを利用してレコードを入力したのですが、この場合Kというフィールドに 対する入力はテーブルAとBを更新するのでしょうか? このあたりはどう考えればいいのでしょうか? まるで解ってないので質問自体が頓珍漢なのだと思いますので さらに必要な情報があれば教えてください
やってから聞けよ
693 :
名無しさん@そうだ選挙にいこう :2006/07/18(火) 13:38:17
>>692 フィールドKは長整数です
主テーブルAの不イールドKには10,20,30,40というスコアが入っています
KフィールドにAテーブルにない50というスコアを入力して
a1,a2,a3にv1、v2、v3というスコアを入力すると
AテーブルにはフィールドKに0が入ってa1,a2,a3にはv1、v2、v3という値の入った
レコードが作成されます
テーブルBのKフィールドは入力した50ではなくて0が入力されたレコードが
作成されます
その状態で新たなレコードに70というAテーブルのKフィールドにない値を
入力すると
AテーブルのフィールドKが0のレコードを参照するようでその新たなレコードの
a1,a2,a3と矛盾するので入力エラーがでます
知りたいのは、クエリから作成されたフォームに対する入力が
どのような仕組みでテーブルに反映されるかという仕組みです
クエリQ内のKフィールドは関連テーブルBのKフィールドで指定してありますから
入力されたスコアがクエリを通して解釈されるなら、Kフィールドの指定は
「関連テーブルBから選んでいるので
テーブルBだけに反映されると考えた」のですが、
Aにも反映されます
「」内の考えがどうも実際の動作と異なるので
反映の仕組みについてわかりやすく教えてくださいますように
>>691 フォームFでレコードを入力したら
普通はAテーブルからa1,a2,a3、Bテーブルからb1,b2,b3,Kというフィールドに追加される
キーのKは自動で入力される
ま、設定次第だけどね
692の言うとおりやってみたほうが早い
だな
>>693 分かりづらい長文はやめれ
リレーションシップやフォームの設定だけ書け
>テーブルBのKフィールドは入力した50ではなくて0が入力されたレコードが作成されます
この時点でリレーションシップの設定かなんかミスってるんだろ
697 :
名無しさん@そうだ選挙にいこう :2006/07/18(火) 18:25:41
>>692 >>694 >>695 >>696 ありがとうございました
主テーブルAのKフィールドにないに50を
フォームからKに入れて、a1-a3、K,b1-b3にそれぞれの値を代入すると
@
Aテーブルにはa1-a3にフォームで入力した値が入り、Kに0が入ったレコードが
Bテーブルにはb1-b3にフォームで入力した値が入り、Kに0が入ったレコードが
追加されるんです
ただし、これは最初の一回だけで
さらに新しいレコードをフォームから入れるとKにAテーブルにない値で0でもない値を
入れるとどうやら@と似たような動作を起こしてKフィールドに0を入れたような動作を
おこし
Aテーブルの主キーであるKフィールドを参照して矛盾するので入力できなくなります
動作は理解できるのですがなぜ最初の一回だけできるのか不思議で・・
まだ、初めて初日なのでもう少し勉強してからまた解らなかったら
聞きにきます
ありがとうございました
windows xp+access2000で開発しています。 mdbのファイルサイズがどんどん大きくなって たまに最適化/修復を行ってますが そもそもファイルサイズが増える原因ってなんなんでしょうか? ちなみにシステムのmdbとデータのmdbを別けて開発してるのですが システムの方がどんどんファイルサイズが大きくなっていきます... やってる事といえば ビューとなるクエリを1個作っていて それに大してSELECTかけて 結果をデータビューに表示したりしてるだけなんですが... 何かアドバイスありましたら、よろしくお願いします。
フォーム・レポート、それに使うコントロールの作成と破棄。 データのみだったらインデックス。
700 :
698 :2006/07/18(火) 18:48:32
>>699 ありがとうございます。
今のメインのフォームはタブを使っていてページが4個あり
それぞれにサブフォームとかやってるんですが
その辺が大きな原因なんでしょうか?
ちなみに、サイズ増大を回避する方法ってありますか?
ファイルを閉じる時に最適化するってしとくと
たまに変なエラー出て、db1.mdbとかになってしまいますし...
701 :
名無しさん@そうだ選挙にいこう :2006/07/18(火) 21:20:36
皆さん始めまして。 いま、accessでテーブルの名前を取ってくるのを書いてるんですがうまくいきませんどうぞご教示くださいませ。 tabledefs.name のようにテーブル名を取ってきてるんですが、MSysAccsessObjectsとかMSysACEsのような 自分で作ったテーブル以外の名前まで出てきてしまいます。 どうにかして自分で作ったテーブルの名前だけを表示させることはできないでしょうか? OSはWinXP 使っているソフトはaccess2003です。 よろしくお願いします。
703 :
701 :2006/07/18(火) 22:06:04
>>702 早速のお返事ありがとうございます。<>”MS”で90%くらいは解決しました。
しかし”MS”から始まるもの以外にもTMCLP〜(〜には5桁位の数字でしたが忘れました)が表示
されることがあるんですが(どういうときにそれが出るかまだわかっていません)それはなんでしょうか?
わかる方お願いします。
っ .Attributes = 0
>>697 だからさ、50入力したのに0が入るのが変だって言ってるのに、「動作は理解できるので
すが〜」って何でだよ!!オレは、全然理解できないぞ。
それより、AテーブルとBテーブルは1対1の関係なのか?だとしたら、何故同じテーブル
にしないんだ。
1対多なら、メイン-サブのフォームになるのが通常(絶対ではない)だが、何故連結して
クエリ作って1つのフォームにするのだ???
全てにおいて、わからん。
706 :
名無しさん@そうだ選挙にいこう :2006/07/19(水) 04:55:32
>>705 まだ全然解ってない私につきあってくださってありがとうございます
Bテーブル
顧客名フィールド、担当者NOフィールド、顧客住所フィールド
Aテーブル
担当者NOフィールド(長整数で主キーです)、担当者氏名、担当者電話番号
というレコードがあり、
担当者NOフィールドで1:多で連結されています
Qクエリは
顧客名(B)、顧客住所(B)、担当者NO(B)、担当者氏名(A)、担当者電話番号(A)
のフィールドをもっています
それから全く同じフィールドを持つFフォームをつくりました
Aテーブルには5人の担当者が登録されていてそれぞれのNoが
10,20,30,40,50なのです
Fを利用して新しいレコードを作るとき
顧客名、顧客住所と順にいれていって担当者NOを入れたときに
それが10から50の時はそれ以後の担当者氏名と担当者電話番号が自動的に
表示されます
このとき新しい担当者として60をいれてそれに相当する担当者氏名、担当者電話番号も
入力したら
Aテーブルに担当者NOが0、氏名、電話番号は入力した値のレコードが追加されて
Bには入力した新しい顧客名と住所と担当者NOに0という値が入ったレコードが追加されました
「クエリから作成したフォームは、クエリを参照してクエリ内に定義されたフィールドのテーブルに反映
されると考えた」ので
Qの担当者NOはBテーブルからもってきているので
BテーブルにはAテーブルに存在しない担当者NO60をもったレコードが作成され
Aテーブルには新規レコードが追加されないのではないかと考えました
「」の部分の考え方が間違っているようなのですがどういう仕組みか理解できないでいます
707 :
名無しさん@そうだ選挙にいこう :2006/07/19(水) 05:04:08
>>705 昨日からはじめたテキストは例題が載っているのですが
確かにその手順でやると書いてあるとおりのものができるんですが
クエリやリレーションシップがいろいろな場面でどのような仕組みで
働くかという説明がほとんどなくて・・・
もう少し我慢して読み続けたら出てくるのかもしれないので
あまりお手数をとらせるようでしたら申し訳ないので放置してください
>>705 せっかく帰ってくれたのにまた呼び出すなよ……
709 :
705 :2006/07/19(水) 09:07:57
そうだな、基本は放置だな。 仕組みではなく、こうすればこう動きますよって書いてるのがあれば それが法則・定理と覚えるべきで、その仕組みを知るってことは、 極端にはAccess自体の(MSの)開発者になるみたいなもんだ。 絶対ではないことだけど、担当者ってのはマスターなんだから、マス ターにないデータを顧客情報と一緒にいれようとするのはやめた方 がよい。いくら担当者NOフィールドで繋がってると言っても、Bの フィールドを元にしてるのにAの担当者NOフィールドにも自動で入る と思うのはおかしい。あとは、まず勉強しろ。説明されても、その知識 じゃついていけんだろ。
>>706 おまえ説明下手すぎ
ファイルをアップしろ
そのほうが早い
711 :
名無しさん@そうだ選挙にいこう :2006/07/19(水) 13:12:53
サブフォームってどうやって作るんですか?
念力
713 :
名無しさん@そうだ選挙にいこう :2006/07/19(水) 14:47:49
>>709 ありがとうございました
だってまだ教科書2時間目だから・・・
だったら最後までやってからこいよ
きっと知りたいことは「リレーションシップ」、「参照整合性」とか「クエリからのデータ更新」 あたりでヘルプを調べれば書いてあると思うけど見ても解らんかも・・・
時代は SharePoint Services ですよー
717 :
名無しさん@そうだ選挙にいこう :2006/07/20(木) 05:12:25
>>715 ありがとうございます
早速調べてからきます
718 :
名無しさん@そうだ選挙にいこう :2006/07/20(木) 08:00:11
MS-Accessを使ったソフトを作っています。ログイン機能を持っていて ユーザー情報テーブルのユーザーネームとパスワードと認証してログインしています。 このソフトをアクティブディレクトリに対応したシングルサインオンのシステムにしてくれ と言われています。 次のような仕様にしようと思っています。 アクティブディレクトリに参加しているクライアントの場合、Windowsログイン名が ユーザー情報テーブルに見つかればWindowsログインパスワードとAccess側で保持している パスワードを照合して合致していれば自動的にログイン。 この時次の情報が必要になるのですが、取得可能でしょうか? Windowsログイン名 Windowsログインパスワード アクティブディレクトリに参加しているかどうかの情報
Windowsログイン名→GetUserName Windowsログインパスワード→無理 アクティブディレクトリに参加しているかどうかの情報→シラネ
【 システム環境】 Windows2000. Access2000 【 VBAが使えるか】 はい 【 VBAでの回答】 可 【 検索キーワード】サブフォーム、更新、テーブル、制御・・・ サブフォームによるテーブル更新の質問です。 あるフォームAにサブフォームBが存在します。 このフォームAには「更新」ボタンと「閉じる」ボタンが設置されていて、 テーブルの更新を「更新」ボタンが押された時のみ更新され、 何も押さず「閉じる」ボタンを押した場合、テーブルの更新はされず、 フォーム上で編集した内容を反映されずにフォームを閉じるという 振る舞いをさせたいと思っています。フォームAはテーブルと非連結で、単一レコードのみが 表示されています。 サブフォームBはテーブルと連結されていて、フォームAに表示されているレコードに付随する 複数レコードが表示されている状態です。 フォームAの項目に対してはテーブルと非連結なので、項目を編集しても「更新」ボタンを 押さない限り更新処理がかからないのですが、サブフォームBは編集を行い、他のサブフォーム内の レコードや、フォームAの項目にフォーカスを移動させると、テーブルに連結されているので、更新が かかってしまいます。 サブフォームBがテーブルと連結されている為、上記のような現象が起きているとおもわれるのですが、 編集された内容を更新させず保持させ、「更新」ボタンを押下した場合にのみ更新がかかる 状態にしたいと思っています。 この際、サブフォームB用の一時テーブルを用意する方法が良いのでしょうか? 出来れば一時テーブルを使わずにテーブルの更新制御をかけて、 更新処理を行いたいと考えているのですが一時テーブルを作らずに更新制御の方法はあるのでしょうか? お手数ですが、宜しくお願い致します。
>>この際、サブフォームB用の一時テーブルを用意する方法が良いのでしょうか? うん
桐の得意分野だな
>>720 トランザクションするか桐にするかExcelにするか、それが安全簡単確実だよ。
管理情報を使用する -------------------------------------------------------------------------------- 改善された新しいユーザー インターフェイス 便利なテンプレート さらに強化された並べ替え機能とフィルタ処理機能 レイアウト ビュー 集合形式レイアウトと表形式レイアウト 自動日付選択カレンダー メモ型フィールドでのリッチ テキスト形式 [挿入] タブによって強化された簡易作成機能 改善されたデータシート ビューを使用してテーブルをすばやく作成する データシートの [集計] 行 新しいフィールドの追加のためのフィールド テンプレート [フィールド リスト] 作業ウィンドウ 分割フォーム 複数値フィールド 画像、グラフィック、Office ファイル、その他の種類のファイルを保存するための添付ファイル データ型 代替の背景色を使用する ナビゲーション ウィンドウ 埋め込みマクロ 改善されたヘルプ ビューア
管理された情報を他のユーザーと効果的に共有する -------------------------------------------------------------------------------- Microsoft Office Outlook 2007 を使用してデータを収集および更新する SharePoint サイトにデータベースを移動する SharePoint ワークフローとの統合 SharePoint リストにリンクされたテーブルのパフォーマンスの向上 Windows SharePoint Services データ型との一対一マッピング SharePoint リストを Access でオフラインで使用する PDF と XPS へエクスポートする インポートおよびエクスポートの操作性の向上 レポートを作成してビジネス ニーズに適合させる -------------------------------------------------------------------------------- レポート ビューとレイアウト ビュー グループ化、並べ替え、および集計機能 自動的に作成されたレポートの改善された外観
情報を管理および監査する -------------------------------------------------------------------------------- 強化されたセキュリティ Windows SharePoint Services による改訂の管理 Windows SharePoint Services による権限の設定 Windows SharePoint Services を使用してごみ箱から復元する Windows SharePoint Services から Access フォームおよびレポートを開く メモ型フィールドによる履歴管理
より操作の容易なパーソナルデータベースになりますた。 Windows SharePoint Services と併用すれば従来どおり業務にも使用できます。たぶん。
729 :
720 :2006/07/21(金) 16:55:40
皆様ありがとうございました。 ワークテーブルを作成する方向ケテイしまいました。 とっても助かりました。ありがとうございます。
Access のレポートでラベル作ってるんですが、 普通はラベルの横幅はルーラーで調整しますよね? これをコードから変更したいのですが、うまくいきません。 レポートを開くとき、イベントプロシージャで Me.Width = 5670 というように書いてみるんですが、印刷プレビューにまったく反映されてないのです。 ページ設定→レイアウトのサイズの項目にある幅というところはちゃんと10cmとなっているのに、です。 どうしたらよいでしょうか? ご教授お願いいたします。
731 :
名無しさん@そうだ選挙にいこう :2006/07/21(金) 17:02:53
質問です。 ACCESS2000 VBAできます。 フォームのコントロールソースの勤務時間は =DateDiff("h",[出勤時間],[退店時間]) にしてます。 出勤時間0930 退店時間2000 と入力したら勤務時間が11になってしまいます。 きちんと10時30分と表示させたいのですが、 どのようにしたらよろしいでしょうか?
732 :
730 :2006/07/21(金) 17:07:46
書き損じました 【 システム環境 . 】 Windows2000, Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 よろしくお願いします
>>731 i = DateDiff("n", beginTime, endTime)
hour = Int(i / 60)
minute = i Mod 60
hour & "時間" & minute & "分"
>>730 Me.Widthは、レポート自身の幅だろ。
やりたいのは、レポートの詳細の幅じゃないのか???
735 :
730 :2006/07/22(土) 08:12:39
Me.詳細.Width というプロパティがないようなので、 他に幅を変更するところは Me.Width しかないと思ったのです。
【 システム環境 . 】 Windows2000, Access2000 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 可 小さな運送会社です。自社の車両(トラックや重機、その他)は自分たちで使うこと もありますが、レンタルすることもあります。そこで配車・運行管理のDBをアクセス で作ることになりました。 申請者は申請伝票から申請するのですが、登録状態としては申請中のままです。 その後、決裁者が承認または却下するのですが、承認したら申請書は本登録となり ます。却下されたら却下台帳に回されます。 こんなフォームとそれを実行するマクロを作りたいのですが、どうかアドバイスなど お教えください。
たしかレポートって、ドット打っただけじゃドロップダウンで出てこない プロパティいっぱいあるよね
>>736 テーブルはどんなふうになってんのか
またはどんなふうにするつもりなのか
またはどんな項目が必要になってくるのか、羅列でもいいから
教えてcho
>>738 ではいま考えているメモを。
予約申請(申請No, 申請年月日, 予約日(年, 月 ,日), 予約時間(開始, 終了), 代表者部署,
氏名, アドレス, ドライバー, 乗員人数, 行先, 使用理由, 車種, 台数, 申請状況)
社員(社員コード, 部署コード, 氏名, アドレス)
部署(部署コード, 部署)
車両(車種番号, 車名, 台数)
予約申請表のデータは 申請状況には3つの種類がある。申請中、承認、却下である。 申請中ラジオボタンにチェックを入れて、登録ボタンを押すと 申請中表に格納される。以下同様。 次に車両の運行状況を確認する問い合わせを行いたい。運行状況表は月でまとめ、日で一覧を表示する 運行状況(予約月, 予約日, 車種番号, 車名, 予約時間) さらに、配車予定の確認も問い合わせる。配車予定表は月でまとめ、ドライバーで一覧を表示する 配車予定(予約月, 予約日, ドライバー)
DBは昔シスアドで勉強した程度です。しかしなにせ現職とは関係ないもんで>情報処理 ぜんぜんアクセスなんてやっていませんでした。そこに突然の話なんでアクセスの操作 の本を買いながら悪戦苦闘しています。
742 :
名無しさん@そうだ選挙にいこう :2006/07/23(日) 00:59:52
お世話になります。マルチになってしまい済みません。エクセル版から誘導されましたのでこの板でアドバイスをいただきたい所存です。長くなりますがお願いします。 【システム環境】 WindowsXP,Excel2000,Access2000 【VBAが使えるか】初心者〜中級者 【 VBAでの回答 】 可(コメントほしいです。) 【 検索キーワード 】 パスワード ExcelからAccessのプロシージャを実行 Excel2000のマクロを使ってAccess2000のプロシージャを実行したいです。要望は、Access2000のファイルdb1.mdbにパ スワードが設定してあるときパスワードを毎回入力しないといけないので、コードで自動処理(スルーできるように)したいというものです。パスワードを設定していない場合のコードはできました。次のものです。 Sub macro1() '変数の宣言 Dim a As Object Dim b As String b = "C:\db1.mdb" Set a = CreateObject("Access.Application") With a .OpenCurrentDatabase b .Run AccessMacro'AccessMacroはアクセスのプロシージャ名です。 .CloseCurrentDatabase .Quit End With Set objAcc = Nothing End Sub スルーしたいパスワードというのはAccessの[ツール][セキュリティ]で設定するパスワードのことです。今回のAccessのファイル名はdb1.mdbです。Cドライブにおいてあります。パスワードは 「pass」にします。 b = "C:\db1.mdb" この行を b = "C:\db1.mdb" & "Password=pass" にしましたが無理でした。少し変更すれば要望通りに動くようになるのでしょうか。パスワードを解除してはいけないという仕様ですが、私が考えた方法は根本的に間違っているのでしょうか。その場合はどうすれば解決できるでしょうか。よろしくお願いします。
744 :
743 :2006/07/23(日) 01:45:13
>>申請中ラジオボタンにチェックを入れて、登録ボタンを押すと >>申請中表に格納される。以下同様。 以下同様ってのは、まさかテーブル3つ作るってことじゃないよね 申請、承認、却下と、たとえばフォームは複数つくるにしても そのデータをためる履歴テーブルは1個でいけるでしょ フォームも、「申請フォーム」と「承認却下フォーム」と、2つじゃダメ? でもって、申請中か承認されたか却下されたか、は 履歴テーブル中の1個のフィールド(文中「申請状況」)、Nullか1か0か、みたいな感じで大丈夫っぽい気がするけど 本登録と却下台帳なんて参照するとき分ければいいんで、何もテーブルまで分ける必要はないんじゃないかなと あと乗員のデータの残し方がよく分からない 代表者がいてドライバーがいて他に誰かいるかもしれなかったりいないかもしれなかったりして、 合計何名、みたいなのでいいのかな 何にしても、個人を示すものについては、履歴データに残すのは社員コードだけで充分しょ 参照するときはマスタから属性全部引っ張ってこれるんだから 入力フォームの作り方ってのは、どうなんでしょ マクロでももちろんできるとは思うけど。。。(ごめんなさい説明できません) つかその前に、こんな画面の形で入力したい、みたいなものがまずそちらにあってほしいわけで そこまで口出しする気にはなれない
フォームで入力したものをテーブルに放り込むやり方は約星の数ほど Tmpテーブル直結のフォームつくって、Tmpテーブルから本テーブルにInsertとか 非連結のフォームつくって、入力が完了したら本テーブルをレコードセットで開いてAddNewとか Dim rs As New ADODB.Recordset Set rs = New ADODB.Recordset rs.Open "履歴テーブル", CurrentProject.Connection, adOpenKeyset, adLockOptimistic rs.AddNew rs![申請年月日]=Forms![入力フォーム]![申請年月日] rs![予約年月日]=Forms![入力フォーム]![予約年月日] rs![申請年月日]=Forms![入力フォーム]![申請年月日] rs![予約_開始時]=Forms![入力フォーム]![予約_開始時] rs![予約_終了時]=Forms![入力フォーム]![予約_終了時] ・・・・・ ・・・・・ rs.Update rs.Close Set rs = Nothing
747 :
742 :2006/07/23(日) 02:24:54
743、744様ありがとうございます。
ttp://support.microsoft.com/kb/235422/ja こちらのリンクの通りにmdbを2つ作成しましたらパスを通過できました。
Sub OpenPasswordProtectedDB()
'省略(上記リンクと同じコードです)
acc.OpenCurrentDatabase strDbName
'ここから処理を記述でしょうか。
Run "AccessMacro" '接続先のファイルにはAccessMacroが作成してあります。
db.Close
Set db = Nothing
End Sub
しかし「プロシージャが見つかりません」といわれてしまい実行できません。
接続先のファイルにはこのプロシージャを作成してあります。
Function AccessMacro()
MsgBox "メッセージ"
End Function
接続先のプロシージャの書き方が間違っているのでしょうか?
モジュールを実行する書き方「Run "プロシージャ名"」が間違っているのでしょうか?
よろしくお願いします。
748 :
736 :2006/07/23(日) 02:44:14
>>745-746 様
ありがとうございます。眠い目をこすりつつデータを検討しておりました。
自分は漠然と申請データから決済者がデータをとってきてアクションクエリか
なんかで承認、却下をやるのかな、とか思っていました。
とにかくもう少し検討してみます。
>>747 わたしは、>743>744の中の人ではありませんが、
mdbを2つ作成するんじゃないと思います。
Sampleの8項・9項は飛ばして、Excel側で10項以降を行うのではないでしょうか?
間違っていたらごめんなさい。
ExcelからAccessのプロシージャを実行できるやり方があるなら自分知りたい、と思いつつ ろくにレスを読みもしないまま、自分だったらどうするだろうと考えてみた 接続されている状態なんだから、Excel側でその処理をしてしまう
もしかしてかぶった?
752 :
742 :2006/07/23(日) 03:13:02
先ほどのサンプルコードを元に、元となるAccessのコードをエクセルに 移植しました。エクセルとAccessMacroが入っているmdbの接続はで きました。 acc.Visible = True この一文によりAccessが表示されるのでパスを通過し接続もできてます。 次に、ExcelからAccessのプロシージャを実行する方法でつまづいてます。 Run "AccessMacro" Run AccessMacro どちらでも何もおこりません。 どのような記述を行えば良いのでしょうか。 要望は「AccessのプロシージャをExcelから実行したい」というもののた め、Excelで処理しない方向でお願いします。ExcelからAccess側で記述 してあるAccessのメッセージボックスが表示できれば成功なんです。 あと少しだと思うので、よろしくお願いします。
753 :
749 :2006/07/23(日) 03:53:41
>>752 >744 のSample通りなら、
Acc.Run Acc.AccessMacro
ところで、
>>742 のコードと>744のSampleコードを合体した最終的なコード貼って頂けないでしょうか?
754 :
749 :2006/07/23(日) 04:07:37
Acc.AccessMacro は違うなぁ。 ちょっとこっちで確認してみます。
755 :
749 :2006/07/23(日) 04:44:02
Acc.Run "AccessMacro"
でいいみたいですね。
>>753 >ところで、
>>742 のコードと>744のSampleコードを合体した最終的なコード貼って頂けないでしょうか?
は、パスワードの有無を自動判別してひとつのExcel ProcedureでAccessの起動を行うのかなぁと先走りましたが、
Macro1 はパスワード無しの場合
OpenPasswordProtectedDB はパスワード有の場合に別々のExcel Procedureでも無問題です。
いずれにせよ、Accessの処理が途中でもExcelを閉じたらAccessも閉じてしまうのは問題ないのかなぁと思った次第ですが。
756 :
749 :2006/07/23(日) 05:06:09
わー、ν速キャップ消滅祭りにすっかり乗り遅れたー
んで、
>>749 氏は寝ちゃったかな?
757 :
749 :2006/07/23(日) 05:07:05
>>735 コントロールの幅そのものを変更しなきゃ意味ないだろ。
759 :
742 :2006/07/23(日) 11:57:43
おはようございます。742です。 743氏のリンク先のコードと749氏のアドバイスでできるようになりました。 ありがとうございました。Acc.Run "AccessMacro" で使えました。 749氏へ。 「744のSampleコードを合体した最終的なコード貼って頂けないでしょうか?」との ことですが、私の能力では合体できず、744のSampleコードそのままです。 744のSampleコードにAcc.Run "AccessMacro" を書き足す形で目的は達成できました。 ただ、私の能力では744のSampleコードがいまいち理解できないので可能であれば742 のコードでパスワードをスルーできるようにしたいです。742のコードはパスワード なしのとき動作するマクロです。mdbにパスワードを設定しない場合は使えます。 パスワードを回避する方法がわかりましたらお願いします。 今日は久々の休日なので定期的にこの板を見ます。
【 システム環境 . 】 Windows2000, Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 ACCESS エクスポート グラフ VBA AccessVBAで、あるテーブルを Excelファイルにエクスポート→エクスポートしたデータでグラフ出力を したいのですが上手くいきません。 AccessVBAでExcelファイルにグラフ出力はできないのでしょうか。 よろしくお願いします。
上手くいってない方法が何なのか分からないと答えよう無いがExcelObjectLibraryでグラフ操作やりゃいいんじゃないの?
>>760 グラフ出力まで自動でやりたいの?
それなら書いたマクロを晒せ
>>761 ExcelObjectLibraryでグラフ操作ができるとは
初耳でした。早速調べてみます。
>>762 はい、
グラフ出力まで自動でやりたいのです。
書いたマクロは
会社にあり、それをメモしていなかったので
若干うろ覚えです。すみません。
'エクスポートされたのは確認済
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8,
"商品テーブル", "商品.xls", True
Dim app as Excel.Apprication
Dim book as Excel.Workbook
Dim sheet as Excel.Worksheet
Set app = CreateObject("Excel.Apprication");
Set book = app.Workbook("商品.xls")
Set sheet = book.Worksheet("商品テーブル")
この後で詰まっています。
ChartsObject関数を発見し、
sheet.ChartsObject(0)
としてみましたがエラーで引っかかりました。
俺だったらそういう面倒なことしないであらかじめテンプレート用Excelファイル作ってそこにデータ書き込むけどな。
でたでたw リアルでも煙たがられてるんだろうなw
だって面倒じゃん
何で でたでたw なのか? グラフまでVBAでやるくらいなら、俺もテンプレートにするのが普通だと思うが・・・
>>766 2ちゃんじゃ珍しくもない
765は構って君なんだからスルーしろ
単にレスがトロい奴だったりして・・・。
772 :
名無しさん@そうだ選挙にいこう :2006/07/27(木) 21:05:20
【 システム環境 . 】 WindowsXP, Access97 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 可 【 検索キーワード 】 ファンクションプロシージャ、警告、ACCESS97 ファンクションプロシージャで、テーブルのレコードを削除しようとすると、 次のようなメッセージが出てきます。 「テーブル内のレコードが一件削除されようとします。続行しますか?」 レコードの削除は予定の行動なので、こうしたメッセージを出力させないようにしたいのです。 どうすればいいでしょうか?
773 :
名無しさん@そうだ選挙にいこう :2006/07/28(金) 00:31:33
何とかワーニングファルス
97にあるかは知らないけど、 オプションの「編集/検索」の「確認」あたりのチェックを外すとか。 ちなみに、何の作業しているの? 単なる削除クエリ?
DoCmd.SetWarnings False
776 :
>>772 :2006/07/28(金) 09:05:08
>>774 さん、
あなたの言うとおりに試したところ、うまくいきました。
どうもありがとうございました。
>773さんや
>>775 さんもどうもありがとう。
777 :
>>772 :2006/07/28(金) 09:10:04
>>774 > ちなみに、何の作業しているの?
> 単なる削除クエリ?
えっと、他人が作ったプロシージャなので詳しく読めないのですが、
deleteとかプロシージャには書いてありました。
やっている内容は、たぶん、ある目的を実行するためにテンポラリ
のテーブルを作って、その目的が達成されたあとで、テンポラリ用
のテーブルのレコードを削除するという感じだったと思います。
初心者です。これからもこちらで質問させていただくことがあると
思いますが、そのときは宜しくご指導お願いします。
今回は本当に助かりました。どうもありがとうございました。
親切な2ch住人様へ
778 :
名無しさん@そうだ選挙にいこう :2006/07/28(金) 10:29:31
名簿管理のためのデータベースを作っているところで 分からないことがあったので教えてください。 ■動作環境 Windows XP, ACCESS 2003 ■VBA 使えませんが回答は可 ■目的 名簿データを様々な条件で検索し、結果を表示したいです。 形としては、フォームで入力したデータを 選択クエリのパラメーターとして反映させて、 クエリを実行する、というもので、入力するデータは一部の項目が Nullであっても検索できるものを考えてつくっています。 (つまり、全ての条件を指定しなくても検索できるようにしたいです) ■現在 インターネット上で色々調べた結果、上記のような選択クエリにするには、 [Forms]![フォーム名]![テキストボックス名] Is Null Or [Forms]![フォーム名]![テキストボックス名] を抽出条件に書けばできるとあったので、 抽出条件欄に上記の抽出条件を10項目横に並べて(Andの抽出条件) 選択クエリをつくりました。
779 :
名無しさん@そうだ選挙にいこう :2006/07/28(金) 10:30:16
長すぎたので分割します。 ■問題 数回試しに検索を行ってみたところ、検索はきちんとできていましたが、 数回行った後、作った選択クエリをデザインビューで見てみると、 上記抽出条件が消えており、新たなフィールドに、おそらく先ほど記入した 抽出条件とおぼしきもの (フィールド)[Forms]![フォーム名]![テキストボックス名] (抽出条件)Is Null (または) Is Null と変わっており、数回選択クエリを実行すると、 Access自体が固まってしまいました。(応答なしになります) クエリの保存は、はじめに抽出条件を書いたときからは上書き保存等していません。 現在では選択クエリを開こうとするだけでもAccessが固まるようになってしまいました。 ちなみに、抽出元のデータは10000件あります。 ■聞きたい事 1.私が書いた抽出条件 [Forms]![フォーム名]![テキストボックス名] Is Null Or [Forms]![フォーム名]![テキストボックス名] を10個ほど並べるやりかたが動作を固まらせるのでしょうか。 2.選択クエリを実行したさい、抽出条件が変更されるのは普通のことなのでしょうか。 3.抽出元のデータが大きいために固まるのでしょうか。 4.他に何か効率的なやり方があれば教えてください。 長文&説明下手で分かりにくいかもしれませんが、 教えてください。よろしくお願いします。
長すぎて読んでないけどVBAでSQL文生成しる
問題はクエリデザイナの動作よりもクエリの内容だと思うんだが
>>778 漏れもデータ抽出方法にパラメータクエリ使用している
言葉できちんと説明できるほどやりこんでいるわけではないけど
自分の例だと、SQL文が長くなるとエラーが出たことがあった。
なので、クエリーを抽出前段階と抽出という2つにわけたらうまくいったことがある
1つ目のクエリーで(下の文はテキトーに書いただけなのであまり突っ込まないでね)
iif(forms![F00_メインメニュー]![txt客番] = [お客様番号],"True",
iif(isnull(forms![F00_メインメニュー]![txt客番],"")="","True","False"))
とかを10個ぐらい作ったら、抽出条件に"True"と入れればいいんだけど、
これがどうにもダメだったので、
抽出条件を書くクエリーを別に分けたらうまくいった
ちょっと日本語不自由でスマソ
そりゃIsNullとNz間違ってるんだからエラー出るだろうな。
784 :
778 :2006/07/29(土) 10:27:05
>780-783 ありがとうございます。 >782 抽出前段階のクエリと抽出のクエリを分けるというのは、 前段階クエリ 抽出クエリ (フィールド)IIF構文 (フィールド)[お客様番号] (抽出条件)空欄 (抽出条件)"True" ということですか? クエリを分けてもIIF構文で指定したフィールドの値 (>782でいう[お客様番号]が"True"または"False"であるということ) が抽出クエリにおいても反映されるという解釈でよいですか? そして、前段階クエリ→抽出クエリの順でクエリを実行することによって 抽出が可能、という操作でよいのでしょうか。 >783 IsNullとNzの間違いというのはどの部分でしょうか。 もしよろしければ間違いの箇所を指摘していただけると有り難いです。 質問ばかりですみません
長すぎて読んでないけどVBAでSQL文生成しる
>[Forms]![フォーム名]![テキストボックス名] Is Null Or [Forms]![フォーム名]![テキストボックス名]
こんな抽出条件書いている時点でSQL文が怪しい。
>IsNullとNzの間違いというのはどの部分でしょうか。
>>783
isnull(forms![F00_メインメニュー]![txt客番],"")
甘やかすとまた来るよ
>785-787 ありがとうございます。 >783は>782のIsNull関数とNz関数の混同についてだったのですね。 >786をもとにIsNull関数とNz関数について絞って調べてみたらわかりました。 >782で示された条件をNz関数に置き換えてやってみます。 長文お騒がせいたしました。
どうせ使うんならbooleanを文字列にしてるアホな部分も直せよ
"True"→Trueですね。ありがとうございます。
今日覚えたこと format([日付],"yyyy/mm")で月別集計ができる!
793 :
名無しさん@そうだ選挙にいこう :2006/07/30(日) 23:03:08
【 システム環境 . 】 Windows2000, Access2003 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 データシート形式のサブフォームからメインフォームのテキストボックスに連結させて そこにカレントレコード詳細を表示させています カレントレコードにおいて、あるフィールドのデータがあるものとないものとで 処理を行いたいのですが、カレントが移る度のイベントを捕まえるにはどうしたら良いですか? メインの該当テキストボックスのchangeとかでイケると思ったんですがダメでした 全体的にはメインフォームにある検索フォームを元にサブフォームのフィルタリングを行って メインフォームのテキストボックスに詳細を表示させている感じです
794 :
名無しさん@そうだ選挙にいこう :2006/07/30(日) 23:19:08
フォームに「次のレコードへ」ボタンって作るじゃないですか。 それで最後のレコードまできたら、「もう次のレコードはありませんよ。( ̄ー ̄)ニヤリッ」とわかるように表示を変えたいんですけど (ボタンの色が薄くなるとか、または3/3みたいにレコード数がわかる表示をつけたり) どうしたらいいんですか? それとフォームを開いたときに「新規レコードの入力」から表示されるようにできませんか?
まず半角カタカナをやめろ。 Current というそのまんまのイベント(日本語だとレコード移動時)があるだろ。 それじゃイカンのか?
796 :
名無しさん@そうだ選挙にいこう :2006/07/31(月) 06:55:07
>>795 やってみましたがダメです
レコードソースはサブフォームに設定してあるんですが、
サブフォームにはenterとexitというイベントしかないので。。。
データシートやめろ
>>796 フォームオブジェクト中のサブフォームオブジェクトのプロパティ見てるだろ。
カレントレコードってのがメイン/サブどちらのフォームを言っているのか解らんが、
「フォームオブジェクト」のプロパティを見る!
>>798 出来ました。ありがとうございます。
本当バカですいません。
>>794 Current イベントで NewRecord が True だったらコマンドボタンの Enabled を False にすれば。
ただしフォーカスを他所へ逃がしとくこと。
>>794 3/3って、レコード番号ボックスを表示すればいいだけのはずだが。
新しいレコードで開くには、開く時のイベントプロシージャで新しいレ
コードに飛べばいいだけ。
どちらも簡単な設定・VBA(or マクロ)なので、あとは自分で調べて。
802 :
名無しさん@そうだ選挙にいこう :2006/08/02(水) 05:54:46
ACCESS2003で入力したデータの表記揺れをEXCEL2003にインポートして編集しました。 さて、それをACCESSに戻すにはどうしたらよいでしょう?
DAO or ADO and ExcelObject
804 :
名無しさん@そうだ選挙にいこう :2006/08/04(金) 16:33:57
OS:Windows 2000 SP4 ACCESS2000 [質問前状況] ・Accessで作ったプログラムとやらを会社の人間に渡されました。 ・周りにAccessを質問できる人間はいません。 前はいたのですが辞めてしまいました。 ・当方は若干のVBA等の知識だけはあり。 (ExcelでマクロやVBAを使用していた) aaaa.mdbというファイルがあり、これを起動するとID:Passを求めるフォームが起動し、 入力後に表示されるフォームからデータを参照・編集するアプリケーションのようです。 内部でどのようにプログラムを組んでいるのかみたいのですが、 aaaa.mdbを起動した瞬間にAccessのメニュー画面が非表示になり、 また表示されるフォームがモーダルダイアログになってしまい フォームの修正やVBAのプログラムをを見ることができません。 [質問] この状態でフォームの修正や組んであるマクロを参照するにはどうしたらいいでしょうか? このプログラムを作成した人がExcelで似たタイプのアプリケーション (メニューの非表示と右上の閉じる等のコントロール利用不可)を作成したのですが、 その場合はファイルを開く際に「マクロを利用しない」を選択して対応しました。 Accessでも似たような対応はできないのでしょうか?
>>805 返答ありがとうございます。
F11も駄目でした。
AccessのサンプルDBであるNorthwind.mdbを開くと最初に
「ノースウィンド データベースへようこそ!」と表示されると思いますが、
aaaa.mdbは常にこの画面で何かを作業する感じでF11も受け付けないし
メニューへカーソルを持っていくこともできないのです。
(メニューも制御されてて、ツールバー非表示、表示されてるメニューは「ファイル」「ウィンドウ」「ヘルプのみ」です)
この状態で組んであるVBAやフォームのコントロールを参照する事はできるでしょうか?
SHIFT押しながら起動
おぉぉぉぉぉぉ!こんな方法があったとは!! 無事にメニューからVBA等が参照できました。 ありがとうございました。
えっとせぁ、アクセス買ってフォーム作ったんだけどさぁ テクストのフィールドにさぁ、ブログの日記を書くみたいに 言葉を斜めにしたり太くしたり斜線引いたりして文字を強調したりインデントったり箇条書きとかできたら面白いと思いませんか? ワードでやれってのは無しね、アクセスの方が高いし。アクセス中にワード立ち上げるの面倒い。 できないかなぁ。
リッチテキスト型は2007からじゃなかったか
Access 2002 までなら ActiveX のリッチテキストボックス コントロール使え。 それ以外は Web ブラウザ コントロール使え。 書いてあることは全部可能だが、どこまで出来るかは自分のスキル次第。
812 :
名無しさん@そうだ選挙にいこう :2006/08/05(土) 18:02:31
アクセスでハイパーリンクをクリックしてもブラウザを起動できないんだけどどうしたらいいの?
Excelでハイパーリンクをクリックしてみたらどうかな。
814 :
名無しさん@そうだ選挙にいこう :2006/08/05(土) 18:21:55
「このファイルを開くためのプログラムが登録されていません。」ってでました。 何を登録すればいいの?
www
818 :
名無しさん@そうだ選挙にいこう :2006/08/06(日) 18:35:57
以前、アクセスでハイパーリンクが開けないと質問した俺だけど ここの皆さんのおかげで単にメモリ不足が原因だったことがわかりました しかし、こんどはハイパーリンクをクリックするとWebからじゃなくてTemporary Internet Filesの中にあるファイルを開いてるみたいなんですけど なんで??どうしたらいいですか??
インターネットのプロパティ→全般→インターネット一時ファイル
インターネット一時ファイルというのは閲覧の履歴ってとこ?
>>819 > インターネットのプロパティ→全般→インターネット一時ファイル
→設定→ページを表示するごとに確認する
なにこのPC初心者板
>>821 スタート→インターネット→右クリック→
> > インターネットのプロパティ→全般→インターネット一時ファイル
> →設定→ページを表示するごとに確認する
824 :
Pepsi :2006/08/07(月) 11:22:44
Access2003 VBAでHyperlinkPropertyを使って、フォーム内にある ボタンをクリックすると、ウェブブラウザが立ち上がり、同じ フォーム内にあるテキストボックス内の情報に応じたウェブページが 開くようにしたいのですが、「"(指定のURL)"を開けません。インターネット サーバーまたはプロキシサーバーが見つかりませんでした。」というエラー メッセージが表示され、ブラウザすら立ち上がりません。 ブラウザ側、Access側で接続のために何かやらなくてはならない設定が あるのでしょうか? ご教授宜しくお願いします。 OSはWindows XP、ブラウザはIE6.0です。
825 :
Pepsi :2006/08/07(月) 11:27:42
824です。 HyperlinkProperty -> HyperlinkAddress プロパティの間違いです。 失礼しました!
826 :
名無しさん@そうだ選挙にいこう :2006/08/09(水) 15:37:03
Aは売り上げ表のテーブルでBはマスタのテーブルなんですけど AのフィールドのデータからBのマスタデータを検索したい場合はどうすればよいですか? Aから納期クエリ作ってたんですけど値段入れたくてマスタを参照したいです。 これまではエクセルのVLOOKUP関数使ってたんですけど重くて・・
検索じゃなくリレーションでいいんじゃ……
828 :
名無しさん@そうだ選挙にいこう :2006/08/09(水) 17:40:10
Access2000使ってます。 データをあいうえお順に並び替えたいのですが、微調整が出来ません。 1)漢字の読み方間違ってる。。 2)カタナカと漢字が分かれてる。。 現在:ア→→ワ→阿→→和 希望:ア→阿→→ワ→和 よろしくお願いします。
無理
>>824 > テキストボックス内の情報に応じたウェブページが開くように
どのように実装した?
831 :
Pepsi :2006/08/09(水) 21:45:22
>>830 さん
レスありがとうございます。
フォーム内にボタンA (btn_A), テキストボックスB(txb_B)があり、
ユーザがtxb_Bに入力した後、btn_Aをクリックするとtxb_Bの値を
HyperlinkAddressで指定するURLに渡すという感じで、
下記のようにしています。
Private Sub btn_A_Click()
On Error GoTo Error
Dim var_B As TextBox
Set var_B = Me.txb_B
If IsNull(var_B) Then
MsgBox "B欄が未入力です。"
End If
Me.btn_A.HyperlinkAddress = ""
Me.btn_A.HyperlinkAddress = "
http://www.aaa.co.jp/search?p= " & var_B
Exit Sub
Error:
MsgBox Err.Number & " : " & Err.Description
Exit Sub
End Sub
日本語文字列そのまま送ってたりしないよな? ちゃんとエンコードしてる?
833 :
830 :2006/08/09(水) 23:04:08
834 :
830 :2006/08/09(水) 23:07:48
お。 上の「as_q=」の後ろの「"」は、投稿時に二重引用符が勝手にエンコードされたヤツだ。 常識的に考えて、適宜読み替えてくれ。
835 :
Pepsi :2006/08/10(木) 19:53:30
>>830 さん
またまたレスありがとうございました!
Google検索で試してみたらIEも立ち上がり、目的の動作をしてくれました。
Accessからのエラーメッセージだったので、Access自体の設定とかの問題かと
すっかり思い込んでいましたが、どうやらサイト側によってはねられていたようです。。。
サイトへのアクセスの仕方をもう少し工夫してみます。
(ちなみに一応、実際のコードではエンコードして文字列を渡しています。)
アドバイス本当にどうもありがとうございました!
836 :
誰か助けてちょ :2006/08/15(火) 11:29:44
事務所で3台でデーターを打ち込んでまっ (2000x2台、XPx1台 内XPがメインでデーター入ってる) 先日、事情によりXPの入ってるDELLのハードディスクマウスコンピューターに 入れ換えするハメになってしもうた 交換前までネットワークでどのマシンからでも開けてたのだが 2000側から開けなくなってしまった 「○○○.MDBは探す事が出来ません。排他的に使用されているか・・・・」 とメッセージ出る。 何かの加減で時々開くが一度メインのマシンで開くと開かなくなる ACCESSマルっきり素人、作成者は死亡、ACCESSヘルプ見ても解らないが 一応オプションで排他的ではなく共有になっているのを確認済み ACCESSは2000 アイコンは文字標示が.mdbではなく、.MDBになってるけど なにか違いがありまっか? xpハードディスクはDELLからマウスコンピューターに移植するまでに3週間あったので その間バックアップよりMeマシンで代行してまして、 移植完了後、MeマシンよりXPへファイルを移動してまっ 誰か助けてチョ
>誰か助けてチョ 馬鹿にしてるようで 答える気なくす
>>誰か助けてチョ >馬鹿にしてるようで >答える気なくす そんな心の狭いこと言うなよ >まっ 馬鹿にしてるようで 答える気なくす
>>836 DELL, マウス〜ってハードディスクではなくパソコンそのものを入れ替え
たってことじゃねぇのか???
サーバーにMDBではなくてピアtoピア?メインのマシンにMDBがある?
何かの加減って?メインのマシンが開いてる時にNGで閉じたらOK?
すげぇ中途半端な書き方なので、情報を正確に整理して書いてよ。
・・・Access素人じゃなくてパソ素人だよな。
■環境 win xp home Access 2000 VBA 一応出来ます データを入力するときに共通項目を 1回の入力ですませたいのですが、 どのような方法でやればいいでしょうか? <今のやり方> 品番 受注数 納入日 0001 500 06/8/1 0001 700 06/8/3 0001 900 06/8/5 <理想> 品番 0001 受注数 納入日 500 06/8/1 700 06/8/3 900 06/8/5 分かる方どうぞよろしくお願いします。
842 :
839 :2006/08/16(水) 17:31:40
>840さん 自動コピペは下のレコードに非表示で品番を仕込んでおいて、 入力した品番を自動で引っ張ってくるようなイメージでしょうか? チェックボックスというのは全然イメージが湧かないので、 ヒントをいただけないでしょうか?
843 :
840 :2006/08/16(水) 17:32:32
すいません自分のレス番間違えてました。 >841さんよろしくお願いします。
紙の注文票で使いやすいのをイメージすればいいだけ 取引件数、品番の範囲、注文数の範囲などによって 方法は変わるし・・・ 840の理想は 単にフォーム作ればいいだけでしょ
845 :
840 :2006/08/16(水) 19:37:05
>844さん <理想>の肝は品番を1回打てば、あとは受注数と納入日を入れるだけで レコードに全て品番が入った状態で反映されるイメージです。 同じ品番のものについては無限に入力ができるので、ただのフォームでは 無理かなあと思っています。説明不足で申し訳ないです。
出来ますよ なんのためにフォームがあると思ってるのですか?
サブフォーム使えばいいだけじゃないか。 書店行って入門書でも漁ってきなよ。
848 :
名無しさん@そうだ選挙にいこう :2006/08/17(木) 00:20:08
ド素人の質問ですが Access2000でセキュリティウィザードを色々試していたところ、Accessを開く とログオンダイアログが出てきて、ユーザ名とパスワードを入力するよう促さ れるようになりました。 ですが、ウィザード画面で設定したIDやパスワードを入力しても一向にログイ ンできません。どのAccessファイルを開いてみても同様の現象が発生します。 (管理者パスワードを設定したからだと思います) Accessの再インストールもしてみたのですが、状況は変わりませんでした。 どうすれば宜しいでしょうか よろしくお願い致します
>>840 ついでですが、1テーブルなのであればメインの品番は非連結が
よろしいかも。とすると、参照・更新でも使用するフォームなら、VBA
利用で一工夫が必要だな。
>>848 レジストリ・フォルダ等、アンインストールでは削除されないものも
完全に手動で削除する。基本は、ワークグループファイル(だっけ?)。
Access2007 もうダメポ Excel にフォーム付けただけ、それ以外は殆ど同じになった
【 システム環境 . 】 WindowsXP_Pro, Access2003 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 日付の入力を週次でやりたい。専用のカレンダーテーブルを作りたいが手動ではめんどくさい。 ・日付は月を跨る週(月末月初)以外は全て月曜日の日にちである。 ※月初は曜日に拘わらず1日 ※1日しかない週が発生するが構わない。 例)2006年8月の場合、出力結果として 2006/8/1 2006/8/7 2006/8/14 2006/8/21 2006/8/28 が出力される。 ・出力される期間は2006年1月1日から5年間 こんなの自動でできる?
データソースを、[月始め]or[月曜日] にすりゃあ良いんじゃねえの?
テーブル作るのは面倒じゃないの? このやり方が一番苦労すると思うんだが・・・
簡単な方法があればいいねw
週ってのは結構面倒だよな
>>851 が希望している出力データを一発で出せれば結構使えるかも知れんな
いまいち何をやりたいのか分からん
859 :
名無しさん@そうだ選挙にいこう :2006/08/19(土) 10:04:41
WindowsXP, Access2000です。 うまい棒コードを主キーにして、あと、うまい棒名のテーブルを作り、 確定ボタンを押すと 入れたコード番号が存在していれば、うまい棒名の書き換え(更新) 無ければうまい棒コードとそれに対応したうまい棒名を登録。 削除ボタンを押して、そのコードが存在していれば削除、 無ければ「そのデータはありません」で削除。 クリアボタンで、画面に書いた事を消す。 終了ボタンで終了と言う、マスタ画面を作っているのですが、 確定、削除、クリアの処理のコードの書き方が解りません。 あと、コードを入力したりするテキストボックスに、桁制限を持たせるためには如何すればいいのでしょうか? 宜しくお願いいたします。
ジャガリコなら簡単だけどな、うまい棒じゃあ相当に難しいぞ
>>859 Private Sub テキスト1_AfterUpdate()
〜〜
End Sub
Private Sub コマンド1_Click()
〜〜
End Sub
Private Sub コマンド2_Click()
〜〜
End Sub
Private Sub コマンド3_Click()
〜〜
End Sub
〜〜に書くべきことを残らずここにアップしてくださいと云っているような気がしてならないんだが
いや、別にそれがいけないことだといっているわけではないんだが
>>859 クエリを使わずに?
なら最初にコードを検索して、レコードカウントの数字の応じてレコードセットの追加か書き換えを
行えばいいのでは? 鍵コードならカウントが0か1しか出てこないはずなので、単純なif文で分岐
出来ると思いますよ。
枠制限はコントロールのプロパティで制限で北と思います
すみませんが2点ほど困っていることがありますので教えてください。 一つは、いま日付ごとの入荷量をグラフ化することをやっているのですが、入荷量ゼロの日を表示するには どうすればいいのでしょうか? 入荷がなかったことを明示的に表示したいのですが、なかなかうまく 出来ません。 もう一つは上記のグラフを一時的な閲覧対象にしたいので、マウスダウンの間だけ表示して、マウスアップ時 には閉じるという風にしたいのですが、docmd,openformで条件を記入するタイプの場合は(単に数値データを 表示するのみ)では動作するのですが、グラフのようにフォーム内のオブジェクトにしてしまうとうまく動作しま せん。 これを解決する何かいい方法は無いでしょうか? よろしくお願いします
>明示的に表示したい どう表示したいかかけ 無駄に長文かかずに 必要な情報だけかけ
865 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 19:47:03
【 システム環境 . 】 Windows2000, Access2003 【 VBAが使えるか .】 いいえ 【 VBAでの回答 】 否 【 検索キーワード 】 適当なワードが分からないため検索していません フィールド1「名前」フィールド2「試験日」フィールド3「科目」フィールド4「点数」 とするテーブルがあり、過去10年分のデータが入ってます。 2005年度に試験を受けた人の名前を抽出したいのですが、 選択クエリを使い、「試験日」のところで「2005*」で抽出すると、 2005年に複数回試験を受けた人場合、名前が複数出てきます。 重複を防ぐには、どのようにすればよいでしょう?
キーワード: 選択クエリ 重複しない
867 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 20:36:42
868 :
名無しさん@そうだ選挙にいこう :2006/08/20(日) 21:16:21
【 システム環境 】 XP, Access2000 【 VBAが使えるか 】 ハイ 【 VBAでの回答 】 おk 業種コードと業種名を入れて、その業種コードが既に存在していれば書き換えする方法が解りません。 どうすれば良いのでしょうか?
2007ではExcelのテーブル機能がアップしてAccessが機能ダウンしてパーソナル向けになって Access不要になった、悲しい… やっぱり桐にするかなぁ
>>868 = 「うまい棒」 のヒト?
まぁ〜むつかしい質問だが漏れはエビマヨが好きだ。
>>その業種コードが既に存在していれば書き換えする方法が解りません なぜにこの板は最高にカッコ悪いぜ、というスレがどこかにあったのを思い出した いや、何の脈絡もない連想だが
>>868 真面目にこたえるなら、方法は星の数ほどあるとしかいいようがない
もうちょっと詰めてから出直してきたほうがいいと思う
ある程度やりたいことの具体的なイメージを伝えてくれないと誰も答えられない
>>868 > 【 VBAが使えるか 】 ハイ
また明日ね
874 :
名無しさん@そうだ選挙にいこう :2006/08/21(月) 02:14:47
【 システム環境 . 】 WindowsXP, Access2003 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 単一のテーブルに 注文番号 |注文日 |顧客ID| 2006082100001|20060821|00001| 2006082100031|20060821|00031| の形式でデータを入れたい。 ・注文番号は注文日と顧客IDを結合させたもの ・注文番号、注文日、顧客IDはChar ・注文番号はPK ※注文番号をフォーム上でVBAで生成してからの代入ではなく、ACCESSのテーブル上で生成することはできる?
そんなのクエリ上なりフォーム上なりで結合すれば済む話で、 テーブルに持つようなもんじゃないだろ。 設計からやり直せ。
テーブル上なのか? フォームでもデータシートでもなくテーブルでの入力なのか、、、おやすみ。
テーブルの冗長さについてはすでに↑で言われているので、べつな角度から疑問をぶつけてみる その注文番号というのはJANコード並のもっともらしさだけれど、唯一無二の主キーになれそうだというわけでもないし、 無駄に長いだけでどういう役割を持たせているのかよく分からない(主キーだとすると顧客一人あたり一日一回しか 注文を受けられないことになる) 注文番号なんて連番主キーでいいんじゃないのかな 連番主キー | 日付 | 顧客ID |・・・な感じで
>注文番号なんて連番主キーでいいんじゃないのかな これはヒドイw 働いたことないんだろうな
>>874 できない
ちなみに、桐なら普通にできるよ
出来るでしょ 桐ほど簡単とはいかないけどさ
テーブルを直にいじって入力するのがカコイイと思い込んでいるやつが後を絶たない21世紀
そもそもテーブルに拘る理由が分からんのだが
大きな画像をデータベース化しています。 テーブルに画像のアドレスを格納して表示しているのですが、 クリックしたときに「画像とファックスビューワ?」で大きくしたいと 考えているのですが、どうしたら実現できるでしょうか? shallだとアプリしか起動できないようで・・・
rundll32.exe shimgvw.dll,ImageView_Fullscreen ファイル名
>>886 暇がないので誰か試して下さい。
テーブルじゃ既定値に他のフィールド指定できないだろう?
じゃあ、どんな工夫なのさ。
>単一のテーブルに きっとここから 注文番号 |注文日 |顧客ID| 2006082100001|20060821|00001| 2006082100031|20060821|00031| ここまで単一のテーブルに入れるんでしょw
それが出来るとどんな嬉しいことが待っているのか、まずはそれを知りたい こんな嬉しいこと、あんな素晴らしいことがあるとわかれば、俺だって頑張る
データシート形式で入力すればいいのに。 前提条件否定して申し訳ないけど。 基本的には主キーとなるものを手入力項目で代用するのには抵抗あるなぁ。 素直にExcel使っていた方がよさそう。 ネックが行数であれば、2007まで待てば大幅に改善されるしね。 ExcelよりAccessの容量制限を改善して欲しかったが。
>>874 > 【 VBAでの回答 】 可
なのに
> ※注文番号をフォーム上でVBAで生成してからの代入ではなく、ACCESSのテーブル上で生成することはできる?
VBA使うな、とは。質問からして矛盾してるね。
893 :
874 :2006/08/24(木) 09:22:43
(・∀・)<オラオラ、とっとと答だせやボケども
894 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 10:34:37
Access 2000 です。 テキストファイルのインポートを行いたいのですが、 インポート先が実テーブルでないと、インポートできません。 (リンクテーブルでは不可) これは 2000 の仕様なのでしょうか? 97では問題なく行えるのですが・・・・・・・
895 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 10:58:57
【システム環境】Windows, Access2000 【VBAが使えるか】 はい 【VBAでの回答】可 VBAで、クエリ名称から、そのSQL文字列を取得できますか? (クエリデザイン中の表示→SQLビューの操作ではなく、VBAで。)
896 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 11:32:59
>>894 どういう操作、VBAなどで、できないか、提示された方がいいと思います。
以下のような場合では、できると思いますが。
DoCmd.TransferText acImportDelim, , "テーブル1_link", "D:\work\テーブル1.txt", True
mdbからmdbへリンクしているテーブルで確認
フィールド名
aa テキスト型
bb テキスト型
テーブル1.txt の内容
"aa","bb"
"22","ああああ"
897 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 11:39:56
>>874 データをコピーしてから
該当テーブル上のフィールドで右クリック、貼付け
898 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 12:13:52
>>896 GUI 上で ファイル → 外部データの取り込み → インポート
で取り込もうとした場合に、次のテーブルに保存する の
ドロップダウンリストにリンクテーブルが表示されず、実テーブルのみが
表示されます。(97では両方表示される)
新規テーブルに保存する として、テーブル名を入力して保存すると
リンクテーブルが同名の実テーブルで上書きされます。
ご提示された同様のVBAで実行しても
実行時エラー 3349
数値フィールドがオーバーフローしました。
になります。 なお、何度も確認しましたがフィールドの形式や桁数
によりオーバーフローしているようではないようです。(97では問題なし)
やはりリンクテーブルへ保存しようとしている場合に蹴られている模様。
同じ名前の実テーブルを作って実行すると問題なくインポートされる。
2000になり仕様が変更したとしか思えないのですが。
97のときはプログラムと(データ)テーブルを別々のmdbにしていたのですが、
プログラム側mdb上のリンクテーブルを削除し、データ側のmdbから全ての
テーブルをエクスポート(プログラム側へ)することにより動作は
可能になりましたが・・・・・・・
899 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 13:22:46
>>898 テキストファイルのインポートのウィザード内で、
ドロップダウンリストには、リンクテーブルが表示されないようなので、
Access2000の仕様なのでしょう。
DoCmd.TransferText 〜
で、リンクテーブルへのインポートができないわけじゃないですから、
実行時エラーとなるなら、
データやテーブルに問題があるのか、
なんらかの原因のAccessのバグなのでしょう。
900 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 14:01:32
テスト
テスト2
>>893 できない
ちなみに、桐なら普通にできるよ
903 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 17:39:30
アクセスを導入するかどうか迷っており、質問です。 現在、エクセル2003で一ヶ月分のスケジュールを作成しております。 一ヶ月の中に例外的な予定や予定時間の変更が有る場合には、 該当する週の該当日(自動で週ごとの予定が作成されています)を手入力で変更しております。 色々とネットで検索してみましたが、 印刷する事を前提とした印刷レポートは作成後に手入力で変更出来ないのでしょうか? データーベースとしての機能も活用したいのですが、 今までのエクセルでの昨日のうち、どこまでが可能なのかが分かりません。
904 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 18:16:09
>>903 Access なら単純な集計や単純なレポートは、便利ですが、
複雑な処理を行おうとするなら、
初心者なら、EXCELのまま利用、それを改善したほうがいいような気がします。
レポート作成後、そのレポートを修正することはできないと思うので、
データをEXCELやワードへ出力した後、
データとレイアウトデザインなどを修正することになると思います。
最新のAccess2003 で、レポートのXML出力が可能で、
レポートのフォーマットに、どれだけ忠実かどうか、わかりませんが。
来年、登場する、2007バージョンのPDF対応機能が、レポートでも可能で、
WORD2007 や EXCEL2007 などで、PDFファイルの読み込みができ、
修正が可能になるのなら、便利になるかもしれませんが。。。
905 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 18:30:43
>>903 >今までのエクセルでの昨日のうち、どこまでが可能なのかが分かりません。
EXCELとAccess では、使い方が全く違うと思っていいと思います。
Accessのようなデータベースは覚えるとすごく便利なのですが、
使い方は、EXCELとは全く違うので、チャレンジして勉強する意欲がないと
ハードルが高いと思います。
EXCELには、クエリというデータベース処理機能があるので、
一度、それを試したり、勉強、チャレンジしてみては、どうですか?
EXCELで、VBAは、使っていますか?理解できていますか?
VBAを駆使できるようになれば、EXCELから直接、データベースを処理することも可能です。
複雑な処理を行う場合は、Access でもVBAが絶対に必要ですので、
Access の前に、EXCELのVBA の勉強、チャレンジをお勧めします。
906 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 18:36:02
907 :
名無しさん@そうだ選挙にいこう :2006/08/24(木) 18:52:34
>>903 スケジュールというと、レポートデザインが複雑な場合が多いかもしれませんね。
EXCELに比べて、Accessのレポートは、
集計用のレポートデザインは、得意ですが、
複雑なレポートデザインは苦手で、使いづらい場合もあります。
時間帯の区域分けや色分け、グラフも表示など行うようなスケジュール表なら、
EXCELのほうが便利かもしれません。
EXCELの帳票デザイン機能は優れているので、
Accessや、Visual Basic などのプログラムから
わざわざ、EXCELへ出力することもあるくらいです。
908 :
903です :2006/08/24(木) 21:12:41
色々と御親切に有難う御座います。 さまざまな印刷物を作成しますが、 スケジュールは30分間隔で顧客名が入り、その担当者が入る程度の簡単なものです。 実際の業務を考えると明らかにアクセスの方が便利なように思うのですが、 やはり基本的なスケジュールを作成後の手入力がネックになりそうです。 もうしばらく、色々と研究(?)してみたいと思います。 結局、アクセスとエクセルを統合(リンク?)しての使用が便利なようですね・・・。 最近やっとエクセルのVBAをかじり始めた程度なので、 アクセス、エクセルを組み合わせての利用は敷居が高そうですね。 参考になる意見、重ねて御礼申し上げます!
日記はチラシの裏(ry
何だかなー 新しいスケジュールを手入力って当然だし、エクセルのレポートって・・・何それ
これはちょっとひどいね
自問自答はチラシの裏(ry
>>895 相手にしてもらえないようですね。自分で調べろってぐらい簡単ですしね。
Querydefを利用してSQLプロパティで。
オートナンバーが今までは1から順番につけられていたのですが、 最近になって「1155941261」とかとんでもない値をつけるようになりました。 ちょっと前にブリーフケースに入れてみたんですが(今は使ってない) これが関係していたりするのでしょうか・・・
Access2007 オワタ\(^o^)/
920 :
名無しさん@そうだ選挙にいこう :2006/08/27(日) 10:05:39
【 システム環境 . 】 WindowsXP, Access2000 【 VBAが使えるか .】 すこし 【 VBAでの回答 】 可 ひらがなやカタカナ氏名をローマ字変換 以前、それに近い関数を見たような? 気がするだけでどこをググッてもでてこない。 お助けを!!
922 :
名無しさん@そうだ選挙にいこう :2006/08/27(日) 22:55:31
>>921 THK
でも、もっと簡単な方法を探してみます。
アリアリ!!
>>922 ヘボン式とか要望によっては、かなり面倒だぞ。
924 :
名無しさん@そうだ選挙にいこう :2006/08/29(火) 22:53:56
>>915 惜しいな
間違ってるよ。
正しく教えなきゃ。
って、だいたいみんな、知らないんじゃないの?
926 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 00:10:29
>>916 そうでしたか。
Access2002以降じゃないとダメなんですね。
927 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 00:13:08
>>920 テーブル作っておいて
SQLで検索、変換はどお?
テーブル作るのが面倒だけど、
if文、case文書くよりは、楽かな?!
>>924 質問が難しいならともかく
簡単なんだし誰も知らないなんてことはないだろ
929 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 00:15:18
簡単だから、誰も書かないのか。。。
930 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 00:22:13
【 システム環境 . 】 WindowsXP, Access2000 【 VBAが使えるか .】 OK 【 VBAでの回答 】 OK ODBCなどではなく、mdbのローカルのテーブル、DBに対して トランザクション処理ってできますか? BeginTrans、CommitTrans、RollbackTrans メソッドのヘルプ、例はわかりますが、 .Transactions で使えるのかな?
931 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 00:34:23
まともに答えてくれる人少ないみたいですね、ここは。 しょぼいやり方しか、わかりませんが、こんな感じ。 参照設定とかしない方法とかないんですかねぇ。。。 それも簡単だから、教えてはくれないってことなんですかねぇ? '■参照設定で【Microsoft DAO xx Object Library】 にチェック Dim db As DAO.Database Dim sql As String Set db = CurrentDb() sql = db.QueryDefs("クエリ1").sql db.Close Set db = Nothing
>>931 デフォでADOの参照設定になってるはずだから、参照設定触りたくなければ
DAOではなくADOでやればよい。
db.Close
Set db = Nothing
は不要。おまじないだ、っていうなら何も言わんが。
934 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 09:20:29
嘘はいかんなぁ。 ADO定義するなら、参照設定しないとダメでしょ。 ×不要 ○省略しても動作に問題ないが、きちんと後処理をしたほうが良い。 なんでも省略なら、 sql = CurrentDb.QueryDefs("クエリ1").sql のみでいいはず。 不要とか言う前に、もうちょっと、ましなこと書いたら? あっ、煽らーには無理かっ。。。~ヽ('ー`)ノ~
935 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 09:34:53
>>928 簡単なら書けばいいじゃない。
小難しい?いちゃもんより1行で済むみたいじゃない。
コピー、貼付けくらいしか知らないんじゃ無理か。
936 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 09:51:18
>>917 バグなんでしょうかねぇ?
長整数型(long)だから、2147483647 までは使えますが。
バグでとんでもない値になったら、ナンバーの修正するしかないのかな。
ちなみに、それまで正しくナンバリングされていた最高値はいくつでしたか?
937 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 11:03:36
>>930 すみません。訂正です。
>テーブル、DBに対して
というよりも、レコードセットに対してかな。
フォームのデータのレコードソースなどに対してトランザクション処理が可能かどうか?
939 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 11:44:16
>>938 なるほど。ありがとございました。
Set rs = db.OpenRecordset("SELECT * FROM Customers", dbOpenDynaset)
Set Me.Recordset = rs
の応用が自分には足りませんでした。
こんな感じですね。
Private Sub Form_Open(Cancel As Integer)
On Error Resume Next
Set DB = CurrentDb
'トランザクション処理開始
Set DBWS = DBEngine.Workspaces(0)
DBWS.BeginTrans
Set RS = DB.OpenRecordset("クエリ1", dbOpenDynaset)
Set Me.Recordset = RS
End Sub
'ロールバックボタン処理
Private Sub コマンド0_Click()
DBWS.Rollback
DBWS.BeginTrans
Me.Refresh
End Sub
940 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 12:02:55
>>939 なんか、ちょっと違うな。エラーになる。(^^;
941 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 12:20:49
>>939 Workspaceを使うとダメなのかな?
こんな感じにしました。
------------------------------------
Dim RS As DAO.Recordset
Dim DB As DAO.Database
------------------------------------
Private Sub Form_Open(Cancel As Integer)
Set DB = CurrentDb
'トランザクション処理開始
DBEngine.BeginTrans
Set RS = DB.OpenRecordset("クエリ1", dbOpenDynaset)
Set Me.Recordset = RS
End Sub
------------------------------------
'ロールバックボタン処理
Private Sub コマンド0_Click()
DBEngine.Rollback
DBEngine.BeginTrans
Me.Refresh
End Sub
------------------------------------
'コミットボタン処理
Private Sub コマンド1_Click()
DBEngine.CommitTrans
DBEngine.BeginTrans
End Sub
VistaはMSDEをサポートせず――影響するシステム数は膨大に? (1/2) デスクトップデータベース技術のMSDE 1.0および2000が、Windows VistaとLonghorn Serverではサポートされないことになった。 この影響を受けるアプリケーションの数は多いことが予想され、後継版への移行は厄介な作業になるかもしれない。 2006年08月30日 07時00分 更新 やっぱ桐にしとこ
943 :
名無しさん@そうだ選挙にいこう :2006/08/30(水) 13:30:36
サポートしない=動作しない だと困るでしょうね サポートしなくても、通常動作するなら、影響は小さいと思いますが。 Vistaのベータ版だとどうなんでしょうかね?
>>931 Access2000で確認。バージョンは古いが、ADO2.1がデフォで参照設定済み。
CurrentDBは、既にオープンしてる自身のMDBだからCloseは無駄。
内部変数なんだから、基本は関数抜ければ解放されるはず。なので、Nothing
も無駄。それでも後処理なんていうなら、.Netでも確保したメモリは自分で解放
しような。別に間違いとはいわんよ。好きにすれば。
946 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 00:17:59
弁解はいいから必要なこと書いてあげたら? 弁解所じゃなく相談所なんだから。
948 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 01:58:26
949 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 02:06:56
ストレス解消所だね、ここっ!笑 プログラマーとかSEって、そんな人が多いの?
2ちゃんなんか見る人は みんなそんなもんだよ
>>946 何が必要なことか一言書いた方がいいのでは?
煽ってストレス解消したいだけじゃないよな?
946は親切心で言ったわけじゃないとおもうぞ
953 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 07:22:08
>>944 回答してあげてるか、
どんな風に回答されているのかは、わかりませんが、
自己弁護には必死なタイプじゃないですか?
回答した書込み、自己弁護したときの書込み、行数とか比べてみて、自己分析してみては?
自覚しているならいいのですが。
954 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 09:12:52
うつになったり、 突然、大声出して、怒り出したり、 シカト、無言になったり、 仕事来なくなったり、 いろんな人いるよ。 神経使う仕事ではある。
955 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 11:37:09
【 システム環境 . 】 Windows**, Access2000 【 VBAが使えるか .】 はい 【 VBAでの回答 】 可 【 検索キーワード 】 フォームのヘッダにDTPickerやカレンダーなどのOLE(ActiveX)コントロールがある場合、 レコード0件だと、参照できなくなってエラーになるようで、 格好悪いのですが、 1レコードのダミーテーブルを表示させるよう切り替えたり Me.詳細.Visible = False など処置していますが、 もっと簡単な方法、対策とかありますか?
956 :
moko :2006/08/31(木) 12:51:57
WinXp Ac97 テーブル名、クエリ名等が文字化けします。 中身は、異常ないのですが・・・ どうしたら直るのでしょうか??? 教えてください。
957 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 14:02:31
>>956 新規に作成したmdbや他のmdbも文字化けしますか?
その特定のmdbだけ文字化けしますか?
最適化/修復を行ったらどうなりますか?
その特定のmdbだけの問題なら、ファイルが壊れて無理なのかも?
958 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 14:06:44
>>956 新規に作成したmdbへテーブルやクエリ、フォームなど必要なものを
コピーやインポートして、文字化けした名称を修正してみては?
959 :
名無しさん@そうだ選挙にいこう :2006/08/31(木) 14:43:13
>>944 >既にオープンしてる自身のMDBだからCloseは無駄。
Closeは無駄じゃない。
排他ロックかかる場合があり、エラーとなる場合があるので、
Closeはすべき。
Nothingは、経験、確認してないが、
なんらかの不具合につながる場合もあるかもしれない。
不具合やエラーを経験してないだけで、
無駄、不要という間違った認識はやめたほうがいい。
キレのいいやつ出したときでも、トイレ出る前にはお尻拭こうよ、ね
>>959 煽りに対してのレスなんだから
本当のことは書くなよ・・・
962 :
名無しさん@そうだ選挙にいこう :2006/09/01(金) 05:47:17
また弁解してら
やっぱり、Accessだ。馬鹿ばっか。
Access to you
965 :
名無しさん@そうだ選挙にいこう :2006/09/01(金) 10:42:03
桐の工作員が覗きに来てるよ
966 :
名無しさん@そうだ選挙にいこう :2006/09/02(土) 08:51:29
>>947 MSがMSの製品についてサポートしないっていうときは、動きません。
の意味だとは思うが、MS以外のメーカーが95,98用のアプリを
2000,XPではサポートしない 云々 いってる場合には実際動作する
ケースが多かったんで、943はそのイメージでいってるんだろぉよ。
Virtual PC は XP Home でサポートされていないし、 ご丁寧に警告文まで表示されるよね。
久々に桐にしとけ復活か。 Access2007だめぽだしな。
梅
産め
ume
974 :
名無しさん@そうだ選挙にいこう :2006/09/03(日) 22:21:23
hoge
975 :
名無しさん@そうだ選挙にいこう :2006/09/04(月) 11:08:07
MSDEって無料だし、セキュリティ弱いからサポート外になったのでは? MSDEがダメならSQL Server もダメだと思うけど。 で、Vista で MSDE 試してみた人いるの? まー、わかっていることは、 桐は、Vista にアナウンスもされない。
976 :
名無しさん@そうだ選挙にいこう :2006/09/04(月) 11:33:32
●VistaはMSDEをサポートせず――影響するシステム数は膨大に?
http://www.itmedia.co.jp/enterprise/articles/0608/30/news010.html OSアップグレードだから、動作しない場合があっても不思議じゃない。
古い無料ソフトだから、サポートしないのも仕方ないし。
影響が多くて、Access や VB など修正や作り直しがあっても、
ソフト業界の仕事が増えるから、逆にその方がいいかな。
だからと言って、桐へ移行するとはとても思えない。
桐の良し悪しは、別としても。
大半は、そのまま新しいAccessやVBへアップグレードするでしょうし、
オープンソースへの移行は増えるでしょう。
古いソフトが使えないからといってWindowsを捨てる会社は、ほとんどないからね。
使い物にならんよ
OS:XP Pro Accessバージョン:2000 アクセスを起動したときにエクセルを同時に自動で立ち上げるマクロを考えたのですが 添削をお願いいたします。 Sub AutoExec() Workbooks.Open Filename:="W:\Template\3Item_DB\XXX.xls" End Sub ヒントでも結構ですので宜しくお願いいたします。
.bat で両方立ち上げたら?
産め
旨めえ
そっか、もうすぐ出産だしな
梅
2007はパーソナル向けですウメ 従業員に入力させたらフォームやクエリを壊しますウメ シェアポイントと連携しなければ使えませんウメ 零細企業じゃWebは無意味ですウメ しょって会社の経理処理には使えませんウメ
早く産め