Access総合相談所 27 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
ACCESSに関する質問はこちらへ
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★ OS、ACCESSのバージョンを明記してください。
★ 質問内容は具体的に書いてください。
・何がしたいのか
・どんな処理を試したか
・動作状況など駄目な理由
テーブル/フォームの構成、クエリ、VBAの内容など差し支えない
範囲で詳しく書くと、早く回答が得られるかもしれません。
図解があれば尚良し。
聞き返さなくても詳細が把握できる質問が望ましいです。
★ 事前にヘルプ・Google等で調べられる範囲は調べてください。
大概の疑問は検索することで解決します。
★ アドバイスを貰ったら、必ず経過・結果の報告をして下さい。
ギブアンドテイクで情報を共有しましょう。
▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境 】 Windows**, Access**
【 VBAが使えるか 】 はい・いいえ
【 VBAでの回答 】 可・否
【 検索キーワード 】 Googleやヘルプでの検索キーワード
前スレ
Access総合相談所 26
http://toro.2ch.net/test/read.cgi/bsoft/1349049986/ >>465
和暦から西暦に統一されたのですが、古い書類の見出し作成なので、和暦のみなのです。 >>466
同じコントロールでやると運用が面倒だけど、入力と表示が別コントロールなら簡単 いつからの書類か知らんけど、先ず明治・大正・昭和のいずれかを選択して
年度入れれば換算できるけどな 昭和だけなら45年と入れれば1925足すだけで
1970年とは出るし 大正なら1911足す 明治なら1867
明治なら45までしか受け付けない(46以上ならエラー)大正なら15 昭和なら64
ってトコに気を付けるだけで あ、平成は上の方式を応用してくれたまえ 書類によってどっちかに統一されてんだろ? 昭和64年は無かったものとしてるとか
1 を元年にするのは IIf とか使って区別するなりさ、少しはあたま働かそうよ 咀嚼するといいらしいよ
一口食いモンを口に運んだら30回咀嚼しようよ そしゃく 判る? 噛むことだよ 佐藤浩市からのお勧め
もっと楽なのは和暦・西暦変換一覧をExcelあたり使って紙に印刷しとくことだわな、ここまで来ると
Excelなら S53.3.35 とかで西暦に一発変換してくれるから 一発っつうか、数式バーに勝手に表示される
だけだけど、それを隣のセルで yyyy/mm/dd で変換後の西暦を並べておけば一目瞭然だろ >>464
H29/3/24て入力すればいい話では? ▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境 】 Windows7 Access2010
【 VBAが使えるか 】 いいえ
【 VBAでの回答 】 否
【 検索キーワード 】 Googleやヘルプでの検索キーワード Access 文字列の挿入
−質問−
『あなたのIDは』 「IDレコード」
『あなたの名前は』 「名前レコード」
『あなたの住所は』 「住所レコード」
上記の『』でくくったところの文字列を挿入して「」内のレコードを返したいです。
レポート表示画面でそれらしくは作ったみましたが、『』部分をテキストボックスで作ってもうまくいきません。
ひょとしてテキストボックスのダブルコーテーションが必要?
うまい方法があればご教授下さい。よろしくお願いいたします。 何故レポートで? フォームでやるサンプルならいっぱいある
https://goo.gl/cI0tKH 本家で勉強してみれば 長過ぎるアドレスだから短縮アドレスにしてみた >>472
ありがとうございました。勉強してみます。 すみません
access2016で作ったデータは2010で扱えますか?
会社のpcに入っているのは2010です
自宅で資料を作ろうかと思い新規購入を考えています 2016 のヘルプ見て、このバージョンからの新機能!
みたいなのを避ければだいじょうぶだ
資料てのがどんなのか知らんが、こじゃれた機能を使わないならおk
例えば保存時に mdb 形式で保存できれば99.9% おk
それが判明したら accdb 形式で保存し直して持ってけばいい ありがとうございます
単純なデータ管理なのでそこまで複雑な事はしないと思います
早速購入してきます ACCESS2016で縦にExcelからフィールドにコピペしようとすると文字列が長すぎて編集できませんってエラーが出て貼り付け出来ない
列そのものを指定すれば最初の一回は出来るが同列に追加で別データをコピペしようとすると列そのものだと上書きになりフィールドだと文字列が長すぎて編集できませんってエラーになる
追加でコピペする方法わかりますでしょうか? Excel側にA列B列C列・・ と成ってるものをAccessの一列にまとめたい てこと?
だとしたら元のExcel側で、A列+B列+C列・・ にした列を新たに作って
それをコピペするしか無いような
つうか、ここで質問してる間にできちまうような
その作業が毎回あって面倒だ てなら >>481 なりマクロ組むなり Excelの列数とテーブルのフィールド数が同じなら新規レコードのレコードセレクタをクリックしてペーストすればいけたと思うけどな
あくまでテーブルと同じ形のものを貼り付ける時だけ使える手抜き技 【 システム環境 】 Windows7以降, Access2010
【 VBAが使えるか 】 はい
C#からローカルデータベースとしてaccdbを使おうと思ってるんですが
レコードの追加・検索しかしない(更新・削除は基本的にしない)予定です。
これって定期的に最適化する必要ってあるんですかね?
検索して調べた限りでは「編集や削除した領域をきれいに掃除する」といった処理のようなので
やらなくてもいいんじゃないかとは思ってるんですが
実際最適化かけてみたら、少なくとも容量はほぼ変わらないようですし >>484
基本的には要らない気がするけど
db以外もHDに入ってるんだろうからたまには最適化した方がHD内で再構築されて安定する気がする
追加もしなくて参照だけならほんとに意味なさそうではある >>485
どもです
まぁ大丈夫ですかね
別にそれでも年一回くらいやっといたほうが安心かとは思うんですが
Officeとかランタイムとか入ってない環境で動かすので
それだけのためにその辺インストールするのはどうかも思いまして すみません、教えてください。
テーブルで日付型のフィールドを作成しました。
データをデータシートビュー開き、その日付フィールドのラベルにある
▼マークをクリックして「日付フィルター」の「今日」を選択すると、
フィルタがかからずにエラーになります。
レコードには数件のNullが存在していまして、
それらのレコードを全て削除すると、正常にフィルタが機能します。
そのフィールドにNullが存在する場合、
日付フィルタは機能しないものなのでしょうか?
よろしくお願いいたします。 >>487
Nullがあると駄目ですね。Not is Nullの選択クエリを作って、それ使って同じ事をしたらどうでしょうか。 >>488
ありがとうございます。
やはりそうですか。
テーブル内に沢山の日付フィールドがありまして、選択クエリを挟むと色々と面倒なんですよね。
ちょっとした事なんですが、改善してもらえたらいいのにな、、、と思います。 accessのデータを、Excelで作ってある表組みに差し込んで印刷するってできますか?
できればExcelはバックグラウンド起動で。
複雑な表組みなのでレポートで作るのは困難きわめております どのサイトが良いとかは知りませんが「Access Excel 出力」でググれば出てきますよ
CreateObject("Excel.Application")
というやつです 【 システム環境 】Windows7, Access2016(Access2013)
【 VBAが使えるか 】はい(中程度)
テキストの「インポート/エクスポート定義」に現在15件登録していますが
最後に登録した定義情報がリストに表示されず開く事ができません。
リストには14件分しか載らないようで、頭の定義名を削除すると最後に登録
した定義名が出てきます。
登録自体は行われているようでDoCmd.TransferTextメソッドは使えます。
Access2013でも確認をしましたが状況は同じでした。
レジストリを変更すれば表示件数が増えるのではないかと考えてまして
その辺りに精通している方のお知恵をお借りできれば有難いです。
宜しくお願いします。 インポート/エクスポートの定義はもっと沢山してるし、全部見えていると思った。
お昼終わったら見てみますが、15件しか表示出来ないって言うのはどの画面? >>496
ありがとうございます。
いつも自分が出している「インポート/エクスポートの定義」画面の
表示方法は以下となります。
@適当なテーブルを右クリックしてショートカットメニューから
[エクスポート]→[テキストファイル]
A「エキスポート − テキストファイル」画面が表示され
[OK]→[設定]
Bエキスポート定義画面が表示され[定義]ボタンをクリック
C「インポート/エクスポートの定義」画面が表示され
登録した定義名が一覧として表示されています。
お手数お掛けしますが
宜しくお願い致します。 同じ手順で見たけど、100以上の定義が全て見えます。エクスポート、インポート、リンクの定義が全部見えますね。
困った時の最適化やって見たら、くらいしか思いつかない。役立たずですまんです。 オプションで、「レコードが次の値を超える時は表示しない」が、15に指定されている・・・んなわけないか。 >>498
>>499
調べて頂き、ありがとうございます。
通常は登録した全てがリスト表示されるんですね。
当たり前ですよね・・・
でも全てが見れるという事を教えて頂きましたので
改めて調べ直してみたいと思います。
ちなみに「レコードが次の値を超える時は表示しない」は 1000 でした。
対応して頂き、有難う御座いました。 空のmdbに全部インポートしてみたら?
2003までしか分からないんだけど、インポートする時に「インポート定義」にチェックするところがあった
そこにチェック入れないとインポート定義は入ってこないかも
当たり前すぎることだったらすまん インポート定義の情報はシステムテーブルMSysIMEXSpecsとMSysIMEXColumns
に入っているので、システムテーブルを直に直せば修正できる。
試しに以下のSQL文をクエリ作成のSQLビューに張り付けて保存して、
インポート定義の名前が正しいかどうかを確認して。
SELECT MSysIMEXSpecs.SpecID, MSysIMEXSpecs.SpecName, MSysIMEXColumns.FieldName, MSysIMEXColumns.Start, MSysIMEXColumns.Width
FROM MSysIMEXSpecs LEFT JOIN MSysIMEXColumns ON MSysIMEXSpecs.SpecID = MSysIMEXColumns.SpecID
ORDER BY MSysIMEXSpecs.SpecID, MSysIMEXColumns.Start; >>503
クエリ画面でちゃちゃっと作った物だから
好きなように書き直して。 >>501
>>502
>>503
>>504
有難う御座います。495です。
お盆休みなのでレスが遅れてしまいました。申し訳ありません。
教えて頂いたSQL文を作成し定義名を確認しましたが、特に問題はありませんでした。
MSysIMEXSpecに登録した定義名が全て確認できました。
問題となっているファイルがmdb形式なので、accdb形式で新規作成しダミーテーブルからの保存や
MSysIMEXColumnsとMSysIMEXSpecsを直接編集して、何通りかの条件のもと確認をしてみましたが
状況としては同じでした。
どうも11件以上登録するとリストボックスには1件足りない形で表示されるようです。
当初書きました「15件登録した定義名が14件しかリストに載らない」というのはこの条件に
該当すると考えております。
MSysIMEXColumnsとMSysIMEXSpecsは以前から気になっていましたが修正できるとは思って
いませんでした。
何故登録したものがリストに全て載らないのか解決できないままですが、ウィザードよりも
直接テーブルを手直しする方が楽なので、こちらを教えて頂いた事はとても有難いです。
今後はテーブル編集で対応していきたいと思います。
教えて頂き有難う御座いました。 2016でマウスのホイールスクロールが出来なくなったのは、どのバージョンからか分かりますか? >>510
データシートビューでホイールが効かないってことですか? >>511
フォームビューで効かないです。
インストール直後はスクロール出来たんですが、いつかの更新により出来なくなりました。
ちなみに、他機種の2013ではスクロール出来てます。 >>512
それはいかんですな。
オフィスのサポートに電話かメールして見たら?わりと丁寧で的確な対処法を教えてくれる印象が有ります。
幾つかの対処法を提案、効果が無い場合は注意点とともに再インストールの勧めみたいなアドバイス貰えましたよ。 >>514
2016からそうなったんですか?
2013までは普通にスクロール出来てますけど >>512
officeのバージョンを戻したら直ったよ。方法は検索すれば出てくる >>516
とすると、クイック実行のアップデート不具合か何かですか?
バージョンというとダウングレードを想定してしまいましたが >>517
不具合みたいです。だから9月の更新で直る可能性もあり。MSコミュニティの「Access2016フォーム不具合について」をご参考にどうぞ。バージョン戻す方法も書いてあります バージョンダウンでホイールスクロール出来ました!
サンクス! 更新停止して無事スクロールが効くように
今後の更新で効くようになったらまた教えてください 初心者なのですがアクセスって最大同時接続数20人ぐらいって本当ですか?
これってリンクテーブル側で同時に更新しても20人ぐらいなんでしょうか? >>522
今会社で最大18人で運用してるよ。常時接続は10人以下なので
リンクテーブルの同時更新20人の参考にはならないかもだけど。。。 >>522
テーブルだけのaccdbを共有するなら30接続くらいは大丈夫でした。5人以上で共有するならSQL Server Express使うのもおすすめ。 【 システム環境 】 Windows7, Access2010
【 VBAが使えるか 】 はい
【 VBAでの回答 】 否
【 検索キーワード 】 ODBC データ取得 など
外部データ(とりあえずデスクトップのデータ)を取得したいと思っていますが、うまく扱えないでいます
ODBCを使うと思うのですが
コントロールパネル→管理ツール→データーソース
の
「odbcデータソースアドミニストレーター」
をうまく扱えませんでした
「ユーザーDSN」「システムDSN」「ファイルDSN」どれを使うのでしょうか
それとも全く違うのでしょうか? デスクトップにあるファイルはmdbかaccdbですか?だとしたらodbcの設定はいらないよ。
txtやcsv、エクセルのファイルなんかもそのままリンクしたりインポート出来ます。
odbcは各種データベースサーバーとの接続に使います。 >>525
自分で持ってるデータなら、インポートでOK
接続したいなら、自分で使うんでしょ、「ユーザーDSN」「システムDSN」「ファイルDSN」ど、どれでOK
「システムDSN」だとログインユーザーとか考えずに使えるから楽かな スレを見渡してみると
ちょこちょこ2000や2003の相談を見かけるんだけど、2つほど教えて下さいおねがいします
・今でも2000や2003って結構使ってるもんなの?
・逆は無理があるだろうけど、2000や2003で作ったmdbは2013とかでわりと動く? >>528
カレンダー関係を乗り越えれば
難易度はそんなに高くないと思うよー >>529
ありがとう、わりと動くのか
VBAがほとんど/全く無かったらそのままでも動いちゃう感じかな
カレンダー関係、ってなんだろう……いつだったか追加されたカレンダコントロール?日付型の扱い? 廃止されてたのか・・・使ったことなかったから知らなかった
重ね重ねありがとう カレンダーコントロールは2007runtimeを入れておけば2013でも動く、ような気がする。 date & time picker が Access に内蔵されたから 後人のためにも古い技術は切り捨てていけよ
レガシーはレガシーで別に扱うようにしとかねえから
現場の無駄な混乱を招く根っこを蔓延らせるんだ
断捨離できねえボケ老人並みの発想だぞ しっかりしろ! おれ 中小企業事務職です
Excelでの処理が限界なので、accessを導入しようと覚え始めました
しかしなかなか思うように行きません。
何か良い勉強方法などはありますか?
excelと同じで、日々積み重ねていくしか無いでしょうか 【 システム環境 】 Windows7, Access2010
【 VBAが使えるか 】 はい
【 VBAでの回答 】 否
【 検索キーワード 】 access 抽出 など
2つテーブルがあります
・店舗ID、店舗名、地区を紐付けたテーブル
・店舗名、月度、売上を紐付けたテーブル
以下の条件で抽出したかったのですが、できませんでした
・関西の店舗
・月度:1702
・売上を35以上
どのように行えば良いでしょうか?
結果は、大阪の50+京都の40で90にしたいのです
お助け下さい
http://i.imgur.com/LfY116b.png
http://i.imgur.com/tYtBC3o.png
http://i.imgur.com/gjRAU79.png
検索結果0になります
http://i.imgur.com/2wQpSAC.png 1番多い売り上げが100円なのに500,000円以上で選択しているから、かな。 >>537
中小企業の事務でExcelの限界を超えるとは思えないが、ようこそデータベースの世界へ。
入門書を読む、近所で開かれる講習会に参加する、マイクロソフトのフォーラムに参加する、など。
インターネッツを検索すると良いよー。 >>539-540
ありがとうございます
色々なデータを触ってる内に変なことしてしまいました Excelの限界だからAccessって、どうなんよ 本来はAccessのデータをExcelで加工がいいんだけど、
日本は何故かExcelが異常に強いからね
仕方ないね Excel 2003とか使ってて
最大行数増えたの気付いてないと見た。 【 システム環境 】 Windows7, Access2010
【 VBAが使えるか 】 はい
【 VBAでの回答 】 可
【 検索キーワード 】 access 初心者 など
>>538
です。その説はお世話になりました
なんとかリレーションと絞込ができるようになりました
抽象的な質問ですが、幾つか質問です
・自信を持って「accessが使える」という基準は何かありますか?正規化の概念などでしょうか?
・中小企業の事務で、もっと覚えておけばいい機能や、バグのような挙動はありますか?
Excelでいうところの、vlookupではなくindex+match、indirect関数、少数誤差、スパークライン等辺りかなと思います
・SQLは直接かけるようになったほうがいいでしょうか?
昔MySQLを勉強して、innnerJOIN、outerJOINなどを勉強しましたが、良く分からず使わないまま今に至りました vlookupでは無く…そんなテクニックが有るんですね。
私はデータベースサーバーのフロントエンドにaccessを使い、社内アプリを作ってます。フォームやレポートでアプリを作り、社内中のPCで使ってもらいます。
runtimeでみんなにアプリを使ってもらえるのが大きな利点だと思っています。 >>549
「accessが使える」
会社によって違いすぎる
完全にシステムが完成した大企業なら、ODBCの設定すらも不要。単に絞込でいい場合もあると思う
零細企業なら、構築以前にバージョン選ぶ所から始める場合もあるかも >>547
単純に販売のしかたじゃないの?
Access入ってなければExcel使うしかないでしょ これの不具合にやられた。ソフトウェアアップデートのせいでモジュール名やフォーム名か日本語だとvba動かないんだとさ
自分ははモジュール名はmodule1とかのままにしてるので
フォーム名が原因らしく30個近いフォームを地道に直す羽目に。
「入金処理って英語でなんていうんだ」とか辞書引いたりした。
今日の予定総崩れ。
https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_access-mso_win10/access2016/f7dc70ee-e228-473e-a92e-17992a3b16b3?auth=1 やはりオブジェクトの先頭にt_やらf_やら付けるのは正義であったか >>553
同じ会社かと思ったw
全く同じ状況で、システム担当死んでたわ >>554
553です。私は普段からフォームには頭にf_を付けてるんだけど、今回ばかりは、オブジェクト名を全て英数にしないと回避できないらしい。
まあ本当に「f_invoice」などと英語にしなくとも「f_denpyo」くらいはしておいた方が良かったかもと反省。
SIerからしたら、名称に日本語を使うなど、
信じられない素人の所業だと思うが。
それにしてもMSのアドバイザーが公表してる不具合なのに、
無料のチャットサポートに問い合わせたら「その件はフォーラムか、アンサーデスク1回5万円です」と3秒でコピペ貼ってきやがった。
もうやだ。 有料に問い合わせても申し訳ございませんって言われるだけだけどな
金は返ってくるのだろうか モジュール名を日本語(2バイト文字)含まない名前に変更すればいいの?
これからやってみる。 >>558
やっぱりトラブルに見舞われましたか?
Accessなんぞ「金かけるほどじゃないな」という素人仕事の便利ツールなんだから
もう少しアップデートのテストを慎重にやって欲しいですね。
頑張ってください 朝の時点でダメだったので1707に戻してたんだが停止させるの忘れててまた1708になってた。
でも、朝はダメだったが今の1708は問題ない。
1708(8431.2079)だから見た目は一緒だと思う。
Microsoft Access 2016 MSO (16.0.8431.2046) 32ビット モデレーターの情報更新
現象の発生条件判明
「2017/9/28 Update
補足) 本現象は、厳密には、モジュール名やフォーム名の末尾が日本語 (をはじめとする DBCS 文字) の場合に発生します。このため、例えば「フォーム1」(1 は半角数字) のように末尾が半角の場合には、名前に日本語を含んでいても現象は発生しません。」
https://blogs.msdn.microsoft.com/office_client_development_support_blog/2017/08/23/ver1708-issue-japanesenamevbamodule/
先頭文字が日本語で起きるならまだしもケツが2バイト文字で起きるのは、なかなかハイテク Accessを社内で使えなくなるのでDBを移行したい。
Excel、SQL Server以外でなんかある? PostgreSQL 好きに使え
MySQL 配布しない(個人利用)なら無料 ■ このスレッドは過去ログ倉庫に格納されています