Access総合相談所 27 [転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
フォームに受注台帳のID入力するようにしてDLOOKUPで自動表示させたらええだけの話では?? >>787
マジか。ひも付け駄目なのか。
テーブルの項目は重複したらダメだろうと思ってひたすら正規化しようとしてた・・・。
rowsourceって値集合ソースの事??
複数列参照、埋め込み、どちらも聞いたことなくて、難しそうだ。
>>789
DLOOKUPね。やってみる。 別dbのテーブルとリンクさせてフォームに表示させたのですが、
フォームの項目を書き換えただけでテーブルの内容も書き換わってしまいました
書き換えない方法や、書き換える/書き換えないの設定はなんというのでしょうか? >>790 申し訳ないけど、まだ業務ソフト作るには早いと思うよ。
パッケージソフト、やっすいやつだと数万円で売ってるし。
なぜ売り上げの記録はマスター結合じゃダメか。商品番号1番が去年は「まんじゅう 100円」だったのが
なんとなく、あなたや他従業員の気まぐれで1年後に「自動車 100万円」で上書きしたら、記録にならないでしょ。
一般的なパッケージソフトでは、コンボボックスもしくは検索用ウィンドウ(フォーム)で選択したマスター情報をコピーする
仕様になっています。 >>791
フォームのデザインビューで、プロパティのデータタブ
「追加の許可 いいえ」「削除の許可 いいえ」「更新の許可 いいえ」
(ただし、ユーザーが製品版ACCESSを使っててテーブルを閲覧できる状態であれば
その保全性までは保証できない。ナビゲーション見せないVBAコマンドもあるにはあるが。) >>790
深く考えずにテキストボックスの更新後処理マクロで値の代入を使えばいいんだよ。
正規化じゃなく入力の補助という感じだな、うん。
そこにNoを入れたら受注テーブルからそれに対応する値が飛んでくるようすればいい。
クエリの編集なんかほとんどイラネ。 【 システム環境 】 Windows8.1, Access2010
【 VBAが使えるか 】 はい
【 VBAでの回答 】 可
【 検索キーワード 】 ALTER SYSTEM KILL SESSION
CSEを使用してSYSTEMユーザにログインをしてALTER SYSTEM KILL SESSIONで切断されたがロックされたままのセッションを切断しているのですが、
Accessにて同じような処理を行うにはどうすればよいのでしょうか。
DoCmd.RunSQLでは"ALTER TABLE ステートメントの構文エラー"が発生をしてしまいます。 >>795
たぶんだけど、docmd.runsqlはあくまで
Accessで持ってるデータベーステーブル、もしくはリンクテーブルに対して、AccessのSQL実行エンジンで閲覧、更新するものなのでサーバー系に比べて単純、セッションの概念もあいまいだと思います。
adoを使えばサーバーが持つ制御コマンドも通るけど、ado自体がcon(adodb.connectionの変数例).close で接続切るメソッド持ってるし。
DBサーバーに対するフロントエンドとしてのMS Access利用ということで宜しいでしょうか? UNIONでSELECTの結果をまとめることができますが、
フィールドの数が違う時に無理やり合わせることはできますか?
テーブル1が
名前、住所
テーブル2が
名前、住所、生年月日
の時、
テーブル1にダミーフィールドを差し込んで全結果を出すということをしたいのですが、
どうすれば良いでしょう >>797
null as x とか、0 as xのように挟む >>798
おー!ありがとうございます
すごいなぁ
なんでもできるなぁ クエリを読み取り専用にすることはできますか?
データ触ったら元データも編集されてしまうのですね データベースの名前をクエリの結果に含めることはできますか? テーブルそのものでは無く仮想の同じフィールドに揃えたクエリーを使う SELECT 1 as x,氏名
おー、できました、こんな感じですか、ありがとうございます
データベース楽しいですね >>800
クエリーデザイナーのテーブルが表示されていないグレーの部分で
右クリック、プロパティを選択、
レコードセットを「ダイナセット」から「スナップショット」に変更 >>804
できました、ありがとうございます
SQLビューとデザインビューのプロパティって違うんですね・・ >>801 単純に今開いているファイル名的なもので良いなら
[application].[currentproject].[name]を試したら、通った。
vbaを書くときに使う関数、プロパティの類は使えるっぽい。
もっと詳細な情報が欲しいなら、vbaでユーザー関数を作成するとか、
隠し扱いになってるシステムテーブルにリンク情報が収められている部分があるので
そこから拾うなどの方法がありそう。 給料の計算システムを作ろうとしています
保険料率が変わることを前提にしたシステムは、どのように構築すればよいでしょうか?
とりあえず
給料台帳、保険料率テーブル、保険料率の適用期間テーブル
のような形を考えてみましたが、
・保険料率の適用期間テーブル
はどういう形にすると運用しやすいでしょうか?
また、そもそもこれでは全然駄目だったりするのでしょうか
ずっと考え続けてよくわからなくなってきました・・・
何か良い方法があれば教えてください 一円でも間違ってたら社員全員から目の敵にされる覚悟が無ければやめとけ
時給が混ざるような形態だったら一分まで間違えられない
市販ので充分 そんなに高額でも無いし
もっと言うなら、保険ったって社会保険に厚生年金、基金、料率だの扶養の細分も毎月把握し続けなきゃならない
そういうのが大好物なら止めないが ずっと考え続けて分らなくなるレベルなら荷が重過ぎる
まず実務で何年もあらゆる形態の給与に習熟してないと、必ず躓く
会計事務所とか社会保険労務士事務所とかで鍛えられた者ならシステム作りも基礎からみっちりできるだろうが
アプリ作れます レベルで給与計算は過酷
給与は企業の根幹のひとつだからな 今回ちょっとバグっちゃいました てへっ! じゃ済まされない
振り込みなら金融機関にまで迷惑が及ぶ 迷惑程度ならいいが、関係各位に被害を与えかねない事態にまで発展することだってある
なに?従業員五人だと? まあ、だとしても給与には彼らの生活が掛かってるからな 安易に請け負うのは勧め兼ねる というひとつの独断意見
自分で読み返して補足するが、躓きはどんなシステムにもあるだろうが、給与は待った無しで迫り来るからな
そのプレッシャーを跳ね除けてやり通すには一分一秒をいのち削ってやり切らなきゃならん 並みの神経では保たない というひとつの忠告 >>807
808さんの言葉は厳しいですが同意です。
例えば、弥生給与、ベーシックプラン付きで78300円
有料アップデートが2年以内に1回以上あることでやや評判悪いですが
税制変更、保険料率変更が配信されます。年末調整も計算してくれます。
有名な別パッケージの弥生会計にもデータを反映できます。
自分でビルドする場合、少なくないマスターテーブルを設計し、絶対に間違いがない台帳を作成し、
変更をウォッチして遅延なく保守し、と考えたら気が重くないですか。
一人で作るとして制作に半月〜1か月、5人の零細と考えたらちょうど制作にあてた月日で
貴方の月給を割った場合、上記の価格と同等かそれ以上になるかもしれません。
もしくは給与計算は全部アウトソーシングするという手もあります。 >>808-809
db構築が楽しく、勇み足になるところでした、助かりました。
自作はやめて、市販のソフトを探してみます
ありがとうございました >>807みたいに過去の係数が変わる場合、どういう風に作るの? 簡単なのは消費税率のように税率と施行日をテーブルにでも入れとく
複雑なのは表ごとテーブルにして条件分岐で拾ってくるとか
複雑だけど件数が少なければ If とか Select Case とかで済ませる場合も 消費税率なんて大したことない
カラムが変動しだすと手がつけられなくなる >>811
さすがに法令ガチガチのものはaccessでは作らないけど
開始日と終了日を入れて、「マスター参照」な場面では
テーブルを直で使わず、(開始日)<=date()
isnull(終了日)or (終了日)>=date() みたいなクエリーを作って
参照させることはありますね。 零細企業です
重いという理由で、データベースの量を2年に一回消されるのですが、
こんな運用方法はあるのでしょうか?
論理削除ではなく、実際にDELETEします 消すのが上司なのか業者なのか分らんが、あり得ない 業者なら告訴もの
紙データに残してるとか言い訳要らないから 二年ごとに業態変わるならまだしも >>816
好きにされてます・・・
>>817
上司です。やっぱりありえないですよね 実際にどのくらいの重さなのか分からんから何とも
モニターの前で延々画面が変わるのを待ってるようじゃ
仕事に支障が出るしJETエンジンだとどうしても限界がある
システムがそれで問題無く稼働してるならええんじゃないの? >>815
マシンにもよるけど、初期core2duoでもaccessはよく動くはずなんだけど
windows98 CPU MMX pentiumで運用してるならそれもあるかもね(いや、そういう会社本当にあるんだってば)
accessで取り扱う現実的なレコード数は数万くらい おそらく1GBに到達しないくらいが良くて、昔はテーブルを別DBファイルにリンクさせて
vbaでbackup201801とかなんとかリネームコピー、
実績的データを削除してから最適化までを自動でやるボタンを作ったりしてました。
プロが作る売上システムでも法定保管期間経過後、明細を掃除する設計のやつがあるにはある。 >>821
コピーしてから最適化をお勧め。最適化に失敗して開けなくなったことがある。
以来コピーを必ずしてから最適化する。 ご教授願います。
access2016環境です。
テーブルからクエリ作成、クエリからメインフォームとサブフォームを作成しました。
サブフォームの集計した値をメインフォーム上で参照するのはちょっと調べれば出来たのですが、
メインデーブルに合計金額が反映されません。どのように設定すればよろしいでしょうか? また、素人さんがAccessを使わされたんですね。
Accessなんて止めなさい。小さな会社の事務のお姉さんが使うものです。
ファイルメーカーがいいですよ。 てか今どうやってんの?
ちゃんと参照できているなら
適当なイベントに引っかけてメインテーブルの合計金額用項目にセットしろとしか言えん サブフォーム用クエリに集計した値=合計金額なら
メインテーブルへ書き込む必要ないよね。
Excelとかへ出力とかするなら、メインテーブル+合計金額の
選択クエリを作ればいいと思う。 なんとなくやりたいこと見えたw
95から変わらないACCESSのダメ仕様、とっとと直せ案件の一つだと思う。
メインとサブで親子関係結んでて、
サブフォームのフォームフッターにsum関数入れて、メインの合計額にリファレンス入れたいんでしょ。
=集計にしてもメイン側テーブに反映されるわけじゃないし、サブの更新後アクションで
メインの合計欄=sum([サブのフォームフッター集計欄])ってやっても、その集計欄の計算タイミングが
合わなくてレコード更新前の集計が入るんだよね。
かなり面倒くさいけど、サブの更新後イベントプロシージャで
レコードセットクローンを作って集計し、メインに書き込むのが確実だったりする。 テーブルをutf8のbomなしで出力する方法おしえて >>828
テーブルをutf8のbomなしで出力すればいいのだ。 >>828
マジレスすると、Accessの機能を使わないでテーブル内容を、
データ種類がバイナリのadoストリームに流し込んで保存する。 【 システム環境 】 Windows7, Access2003
【 VBAが使えるか 】 少し
【 VBAでの回答 】 可
【 検索キーワード 】 Access , 外貨
Access初心者です。
社内システムをAccessで検討中です。まずは練習と思い家にあったAccess2003で作っています。
Accessでできると判断すれば社内PC(日・タイ語)の一新と最新Office(日・タイ語)を購入予定しております。
【本題】
テーブルやフォームなどで外貨の表示や計算はできますか?
現在想定している外貨は、タイバーツ・日本円・USドルです。
ご教授お願い致します。 もちろん可能です。為替レートで掛けたり割ったりするだけだよ。 ご返答ありがとうございます。追加で質問させてください。
製品登録の際に、通貨(バーツ・ドル・円)を選択して価格を入力し保存したいと
思っております。
書式で通貨(円)とユーロはありますが、ドルやバーツはどのようにすればよろしいのでしょうか?
よろしくお願い致します。 >>836
なんとなくできたので、
Private Sub Form_Load()
Dim fmt As String
fmt = "\" & ChrW("&H0E3F") & "#,###"
Me!txt1.Format = fmt
End Sub
unicode拾えるっぽい。
ただし、フォームデータシートビュー、クエリー、テーブルなどの一覧で、
「これは円」「これはドル」「これはバーツ」
というのは無理なので、必要ならばテーブルに通貨の選択肢を追加、
クエリーで選択肢の参照と結合した「単なる文字列」の列を作成したほうがラク。
通貨型とはいえ、基本的に数値型なので
レポート機能でインボイスや請求書を作る場面以外は、計算・集計の再利用性を考えても
通貨単位を書式で解決することにこだわらないほうがいいです。 >>836
ご丁寧に返答頂きありがとうございます。
マクロまでご指導頂き大変勉強になり、また>>836さんの学識には平伏致します。
ご指導頂いたことを踏まえて頑張ってみます。
まずは通貨コードをドロップリストで選択できるようにして作ってみます。
Access初めて二日目ですがまだ何が何やら分かりませんが楽しいですね。
またご質問させて頂くと思いますのでよろしくお願い致します。
ありがとうございました。 通貨は
USD 1.00
JPY 106
THB 318
の様に編集する事も有ります。実務では使いにくいので、ほとんどのフォームやレポートは通貨ごとにソートして出力し、通貨の区分はヘッダーに表示してます。 >>839
ご助言ありがとうございます。参考にさせて頂きます! 上下で隣り合うセルを結合せずに1組として固定するにはどうすればいいですか?
上のセルに企業名
下のセルに企業内容
・・・という体裁で資料をつくり
フィルターをかけたときにこの上下のセルが1セットでフィルターかかるよう
にしたいです。 企業情報:企業名&企業内容、と言う項目をクエリで作る。その項目にlikeかな。 ありがとうございます。。
恐れ入ります、クエリの知識がなく時間がないため
単純に上下の2行を1セットとして固定した表を作り、
上下の2行を1セットで固定された状態でフィルターに対応できればいいのですが、、
できそうで、できないものでしょうか? 842さんよく要件わかったな、俺はさっぱりわからん。
>>843 一旦、excelを忘れるんだ、accessにはセル結合はない。テーブルは行列と呼べないこともないが、列はあっても1行は1レコードと呼ぶ。
縦の結合って、フォームのテキストボックスのことを言ってるのかテーブルのことを言ってるのかよくわからん。
クエリーやテーブルで「縦の結合」だったら「2レコード間の参照」なので相当難しいぞ。
リレーショナルデータベースで「結合」という言葉を使うのは、一般的にはテーブルとテーブルの結合、
クエリーで文字列と文字列を組み合わせる文字結合くらいかな。 データシートビューですが
タッチパッドの二本指のスクロールができません。ピンチでスクロールします。仕様ですか? 請求書発行するシステムつくるとき
別途フォントをインストしてるんですけど
他のPCにもファイル配布するときにはそっちのPCでもフォントをインストする必要がありますよね?
みんなも複数台で使うときは面倒だけどそうしているんですか? 助けてください。
テーブル数個とクエリ数個のみで構成されているaccdbファイルを、
別の支社の事務所に持って行き、開こうとしたのですが、アクセスそものは起動しても
まったく何も表示されない状態になってしまいました。
ttp://imepic.jp/20180330/026280
ムリにいろいろクリックしまくってやっと何か表示できたのが↑この状態です。
とにかく、何もクリックするところもない状態でした。
これ、何が原因なのか、どうすれば普通にテーブル一覧とか見られるようになるのかわかる人
いないでしょうか?お願いします。教えてください。
PCに詳しい唯一の方が辞められたばかりなので、もしやその人が何か起動時の設定をしたまま
去って行ったのではと予想しています。 >>847
windows標準のフォント使って下さい
>>848
これ、普通のACCESSインストールされてます?
左のアイコンが「A」マークじゃなくて、不明アプリアイコンだから
Access runtimeだけインストールされてる気がする。
runtimeはそのままではナビゲーションも、テーブル、クエリーも出ず、
まず自動で立ち上がるメニューフォームを組む必要がりますよ。
「いや、確かにインストーリされている」という場合には
新規データベース作って、そこにインポート機能で
それぞれのオブジェクトをインポートしてください。 >>849
標準フォントじゃウエイトそろってないしデザイン的にちょっときついですね >>847
そうしてますね。フリーのバーコードフォントとか全配布。
PCのフォントフォルダに無ければ共有フォルダからコピーするってコードを開くときに実行してます。 >>851
あーなるほど
ACCESSのVBAでそんなことできるんですか? >>852
スペシャルフォルダを開くとかVBAでファイル操作とか検索するとサンプルや解説サイトがいくつかあるよ、やってみて。 >>853
ありがとうございます
スペシャルフォルダをVBAでやるんですか? やるよー便利だよー。
データベースからクエリで抽出、EXCELに出力ってとき、だいたいDesktopとか。だから割と必須です。 【 システム環境 】 Windows7, Access2010
【 VBAが使えるか 】 少し
【 VBAでの回答 】 可
助けてください。
tblAは、[id][なまえ][電話番号][性別][入会日]というフィールド構成のマスター名簿
tblBは、[id][入金日][入金額]というフィールド構成です。
このテーブルを元に、VBA上で、
[id] [なまえ] idごとの[入金額]の合計 WHERE 昨日=<[入金日] <= 明日
というレコードセットを取得したいです。
INNER JOINとか、そういうのを駆使して、なんとかひとつのSQL文を作りたいのですが、
うまくいきません。
どなたか、SQL文そのものをご教示ください。
お願いします。 ACCESSの質問ではなかったようです。
すみません。
質問を取り下げます。 いや、そんな事無いんだけど土日は休み。月曜日で良ければ。 >>857 select id name sum(入金額) from tblA inner join tblB on tblA.id=tblB.id
where tbl.B.入金日>=date()-1 and tblB<=date()+1 group by id,name
かな aとbというテーブルがある時、
SELECT *
from a,b
と書くのは
SELECT *
from a CROSS JOIN b
と書くのと同じなのでしょうか? ▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境 】 Windows10 Access2016
【 VBAが使えるか 】 いいえ
【 VBAでの回答 】 否
【 検索キーワード 】 Googleやヘルプでの検索キーワード
access 今度MOSaccess2016を受けるのですが、
デザインビューとレイアウトビューの使い分け
その質問ならコッチとかどっちを使っていいのかが分からない
あと、Yes、Noも
よろしくお願いします >>862
「よくわかるトレーニングテキスト」を購入し、読解されることをお勧め致します。 問題を解いてるとレイアウトビューが出てくる時ありますが、
そこをあえてレイアウトビューを使わずデザインビューで回答しても正解なのでしょうか?
一応MOSの問題といてると正解になります
>>863 よくわかるマスターMOSaccess2016を勉強中です MOSのAccess2016の試験はどれ位の問題数が出ますか?
明らかにEXCELよりも多いので戸惑ってます。時間内で間に合うか心配です
FOM出版しかやってないですけど不安ですね FOMの問題数(量)だったら回答がまにあわない(笑) 十年後のOfficeでもAccessとVBAは残ってますよねよね? メモリ不足
四ねよ ボケ カス
所詮おもちゃアプリ サンプルで拾ったvba付きのDBを追いかけたところ、
変数に値が入っていました
・DBを開くと、フォームが開く
・フォーム上のボタンを押すとbutton_click()が走る
・button_click内には変数に値を入れるコードはない
・値はあるテーブルの値
常にvba上のある変数に、なにかしらの値を入れるような方法ってあるのでしょうか? そのマクロは社内の古いテスト環境にあったものなので公開は難しいのですが、
もし何か参考になる資料などがアレば教えていただきたいと思います http://www.geocities.jp/cbc_vbnet/kisuhen/hensuu.html
button_click() にコードが無くても、Formを開いたときに走ってるかも知らんし
そのテーブルの存在意義が変数格納のためだけにあるかも知らんし
上のサイト見るだけで理解してしまうかも知らん あぁ、AutoExec とかでマクロ側に入れてるようなのも見たことある form_openやform_loadで変数に値を設定してる、はず >>874 public変数か何かに、先の動作で埋め込み済み
なんじゃないの?
public変数の有効期間は保証しない、みたいなことを
オフィシャルに書いてたから、個人的にはあまり使わないけど。
コードにその問題のa=bがあるなら、コードエディタの検索
使って「b」をカレントプロジェクト全体で検索かけたら何かわかるかもよ 本当にお前らって役立たずのクズだなw
少しは役立てよ
社会のダニ共 【 システム環境 】 Windows10, Access2016
【 VBAが使えるか 】 いいえ
【 VBAでの回答 】 否
会社の製品在庫の管理をなんとかPCでできないかと思い、4月にaccessを
買って少しずつ勉強しています。
日々の生産(入庫)と出荷(出庫)を「入出庫テーブル」に入力し、
クエリで集計して「在庫表テーブル」に下のような形で出力したいのですが、力量不足で
できません。
月日 繰越 入庫 出庫 在庫
4/1 100 0 40 60
4/3 60 100 40 120
4/9 120 50 10 160
前回入庫・出庫が動いた日の在庫をどうすれば繰越フィールドに持ってこれるのか。これが
できれば在庫フィールドは繰越+入庫−出庫で簡単に出せると思うのですが。
お手上げですので助力をお願いいたします。 Access2003にアドインを入れたらウィンドウメニュー選択するだけでフリーズするようになって仕方なく、家に転がっていたAccess2007入れた。んで、ヘルプを見ようとしたら、サポート打ち切りと言われてしまって怒られた。
Access2016入れようか悩んでるんだけど、2007と比べて良くなったところあるの? >>882
取り敢えずテーブルの持ち方だけ。
入庫テーブル、出庫テーブル、月末在庫テーブル、を別に持ってる。 >>883
フォームに配置したコントロールの位置やサイズをフォームのサイズ変更に合わせて変更可能になってる、とか? >>885
それって、便利なんですかね?
ところでスピードはいかがですか?2003→2007で少しモッサリするんですけど、2007→2016はどんなもんでしょうか? >>886
割と有難い機能だけど人それぞれかも。
開発は2016だけど実行はruntimeの2013や2016で、パソコンも様々だからバージョンの違いで速度差があるかはわからん、すまん。 >>887
おっしゃるとおり、便利になる現場もあると思います。私も使ってみたいと思います。
それほど遅いという評判を聞かないので、導入してみます。
ありがとうございました。 ところで、2003だと自由に出来たショートカットキーの設定がどうもうまく出来ない。2007では出来なくなったのかな?Atl+数字じゃなくてALT+アルファベットで設定したいんだけど、できるのかな? >>884
考えてみましたけど、それらのテーブルを作ってどうすればいいか
やっぱりわからないです。
一応、入庫・出庫が動いた月日の在庫を出すことは出来はしました。
入出庫テーブルに期首在庫フィールドを作って入力し、クエリで固有の値を「はい」にして
月日ごとに期首からの入庫累計と出庫累計を出し、同クエリに在庫フィールドとして
期首在庫+入庫累計−出庫累計を計算する形で。
うまくやればレポートで>>884のような表がだせるのかも、とも思います。
ただ、実際の会社の在庫管理は複数品種(100種前後)あり、それらにロット、生産月度、
その他の区分が1〜2個あってそれらも品種内で分けて集計する必要があり、
レコードも入庫・出庫それぞれ400/月程度を入力する必要がある。
上のやり方だと、品種ごとにロット等のデータをテーブル上で連結させ、さらにそれらを
並べ替えて集計しやすくしたとしても、DSUMで入庫や出庫累計を計算するので
速度的に非常に遅いだろうと。ちょっと試したんですがとても使えなかったです。
だからやはり、期首在庫と入庫/出庫累計から計算するのではなく、
>>884の表みたいなテーブルがあって、入出庫があればその月日以下の在庫フィールドを
繰越+入庫−出庫で更新したり、新規にレコードを追加していけないかなと。
長文かつ内容がわかりにくくてすみません。 月末在庫テーブルと言ったけど現在庫テーブルの間違い。製品コード、年月、前月末在庫、当月入庫数、当月出庫数、現在庫というレコードを入出庫処理の都度更新してる。 販売管理
給与管理
備品管理
請求書発行
粗利計算(簡易出納帳)
をつくるとき、ひとつのファイルでやるのと
それぞれ目的ごとにわけるのはどちらがいいんですか? 規模による 十人程度の社員で、入力もひとりで済むようなら好きにすればいいし
ただ、1ファイル壊れたら(PCの故障含む)全滅 でも仕事が進むならあり
それぞれの業務にそれぞれの担当がいるレベルなら厳禁
上で書かれてるような「市販」だと、まずは望むものは得られない
アプリに業務をあわせる苦行が待ち受けている >>895
そうですよね市販ソフトってまったくあってないです SQL Serverつかつ場合もACCESS単体の場合も開発のやり方は同じですか?
ふつうにアクセス側でレポートつくったりテーブルつくったり、ですか? >>897
だいたい同じ。厳密にはデータ型が少し違ったり規定値やオートナンバーの設定方法が違ったりします。
accessでテーブル作ってsql serverにエクスポートしてマネージメントスタジオでちょっと手直し、という手順でやってます。 >>898
vbaもとくに意識せずに書いていいんですか? 自身のテーブルかリンクテーブルかは意識しなくても良いはず ファイルメーカーってしか使ったことないんだけど
accessのadoとdaoってのはどっちにしてたらいいんですか
適当に選んだら後で苦労することになったりしますか? 本にはADOを使えと書いてあることが多いけど、俺はDAOばっかり使ってる。だって便利なんだもん。本に書いてあることを鵜呑みにして失敗したわ。ADOをDAOに書き直ししたわ。 >>902
後から変更点するのは大変なの?
何を変更するのかよくわからないというかどういう違いがあるのかググってもよくわからなかった
暇な人簡潔に教えてください フロッピーとUSBメモリ程度の違いだからだいじょうぶ
フロッピー差し込むスロットがあれば
ああ、1.25MB と 1.44MB の差もあったか 単にFDてだけじゃダメだったな
PCで気を付けるのは規格とかバージョンなんだろうな
三年後五年後十年後を読んで発想することが一番肝 俺はdao からado。どうしてそうしたのかは忘れた。 思い出した。SQL Serverとか使うならadoが良いってどこかで見て切り替えたんだ。実際に速度差も有ったと思う。今は知らんけど。 >>903
関数が微妙に似て非なるもので、ADOは不便だったから、DAOに書き直したのを憶えている。
たしか、検索コマンドだったような記憶がある。
俺が仕事で使ってる業務用mdbも中見たら全部DAOだったわw
骨董品じゃなくて頻繁にアップデートしている現役バリバリの商品だよ。 自分なら DAO(ACE) で書きますね
既に ADO(OLD DB) はサポート廃止されてますし 谷尻かおりのAccess実用プログラミングの280ページに
「プログラミング言語でデータベースを操作するときは,基本的にADOを使用してください。」って書いてあったわ。
そしてその後に
「内部的にレコードを検索したり削除したりするときは,DAOのRecordsetオブジェクトを利用してください.ADOのRecordsetオブジェクトは,連結フォームのレコードソースと互換性がありません.」
て書いてあって、どっちを使うべきか悩んだのを思いだしたわ。
結局、後者の理由でDAOを使うようになったのを思いだしたわ。 ちょっとびっくりした
あちこちでADOへの移行を薦めてたんじゃなかったっけ?
http://itwebkatuyou.com/3441
いろんなサイトあるけど、↑が易しい解説かなと、参考までに
スタンドアロンで使い続けるならDAOでいいんじゃね?
将来拡大しそうならADOに移行しときなよ ってことじゃないの?
サポート廃止とか、頻繁にアップデートってほんと? >>910
アップデートは商品のことね。アップデートが頻繁な商用mdbでさえDAOだよ。古くさい、開発もメンテも終了したような骨董品じゃないよ、と言う意味。 MS は早々に ADO(OLE DB) を廃止したい様で
Access も例外ではなく 2013 から adp が廃止されてます
デフォルトの参照設定からも ADO は外されてます
手動で参照設定すれば使えますが
廃止明言のコンポーネント使って数年後に書き直すのも嫌ですからね 上のサイトの右端を 7900 にしたら出てくる文言
可能な限り、1 つのクライアントから Microsoft Jet データベースに対する接続は 1 つだけになるように設計します。
とあるように、コンパクトモデルならいいんじゃね DAOではODBCDirect ワークスペースがサポートされなくなりました。この機能を用いたコードはADO を用いたコードに置き換える必要があります。
10年前の出来事です。 会社で使ってるやつの確認したけど、DAOだったわ。
話は変わっちゃうけど、皆さんはソースコード管理とかどうしてる? おれはOASISを使い始めたところ。でも、ヘルプがドイツ語w なあんだ、時間軸の違う人達が紛れ込んでただけか はぁ、びっくりした
だよね? コッチの時系列ではDAOがサポート廃止ってので、いいんだよね?
近い将来 SQL Server だし、.NET 移行してくかも てんで、大慌てでADOに揃えたの
数年前のことだったから、うっわ!読み間違えたかっ! て、三時間心臓バクバクだったじゃないか 今そういうことになってんの?SQLServer連携の勉強用に
遅ばせながらADOの使い方をようやくマスターしかけてる
ところなのに。
単純なACCESSのDB実体とフロントエンド用を分割してリンクテーブルを使う場合でノンプログラミングもしくは100行程度のコードとすると、
ざっくり1000行くらいに増える感じ。 フォームを前回終了時点で保存するオプションとかありますか? ADOでやっとけばいきいんですね?
多分ACCESS以外のデータベースを使うことなはないと思うけど >>920
求めるもので変わるのではないでしょうか?
・コードの保守性を優先するなら慣れている書き方
・AccessDBのみでのパフォーマンスを求めるなら最速のDAO
・将来的にSQL Serverに移行する予定があるならADO
などなど色々あると思いますよ >>921
コードってVBAの書き方も違うってことですか? >>919
複数で接続するなら、必要なフィールドの分だけワークテーブルにでも残しておく
改めて開く都度そのテーブルから該当するデータを引っ張る という案
オペがひとりなら、最後のレコード(を読み込む)に移動する という案
などなど、状況で他にもいろいろ >>922
ADOとDAOで書き方が少し違いますよ >>924
解説サイトや書籍ではそれぞれ書いてあるんですか?
例えば、簡単に言うとどんなところですか? フォームとレコードでファイルわけてますか?
あとからやると大変そうなので最初からわけてたほうが無難ですか?
分けることのデメリットはファイルが一つにまとまらないというだけですか? 検索窓に access ado dao 比較 ってだけでいろいろ出てくるし
本人の練度次第でそのうちのどれがいいかは判別し兼ねるし
例えば https://teratail.com/questions/34709 だし
>>926
デメリット って、考えたことも無かったけど、強いて言えば、それぞれを別の
マシン(鯖、PCとか)に分けた時、必ず両方が起動していないと・・ ぐらい
「繋がらないー!」 「鯖動いてます?」 「あ・・ 停まってた」 てのはあった ACCESS2016でヒラギノ角ゴの細い文字を使うとカスレがでてしまいます
他のフォントでも細いものは同様にカスレるようです
選択して反転したらかなり目立ちます
また、フォントによってはかなりフィールド高を変えられてしまいます
これは仕様なのでしょうがないですか?
別のフォントを使う以外で何か解決策はあるのでしょうか? >>928
細いところが潰れるっていうか白く飛ぶことだよね?
源ノ角ゴ使ったときは特に感じなかったけどウエイトをライトあたりにしたら掠れがでた
それと、MSゴに戻して気がついたけど
源ノ角ゴはやたらフィールドの高さとられいたんだMSゴにしたら半分くらいになった
まあ、同じフォントサイズでも明らかに文字でかいからなあ
Wordみたいには調整できないんだろうか ざっとした皆さんの開発手順教えてください
僕は、モヤモヤ考える
とりあえずテーブルつくる
それに関係するテーブルをつくる
フォームをつくる
で、あれ?これおかしいぞ、とかこの機能つけるには
これじゃだめだな
また勉強やり直すか、
で最初に戻り、いつまでたってもできません
入力した売上データから請求書発行、粗利の計算をするだけのものなんですけどね データを洗い出す
関連するデータをまとめる
これだけ スクラップ & ビルド 無駄な努力など無い(その先を目指しているなら)
「いない場合は?」 ムダに成る ムダのガラクタ市になる 時間を入力するとき
1234といれれば
12:34
とふた文字ごとに:を自動で入れるにはどうやったらいいですか? windows7 access2010
VBA 使えます
VBA回答 可
動的に生成されるレポートをFAX送信したいです。
宛先は数十あり、リダイヤルや送信成否記録も必要です。
「Access2010 FAX」 や 「Access2010 windowsFAX」で検索をかけても
2010年あたりの情報ばかりで
根本的に簡単なやり方があるのか
Starfaxなど専用ソフトを利用するしか無いのかよくわかりません。
助けていただければさいわいです レポートの印刷先プリンター名をFaxにして出力すればおk >>930
accessってそんなもん。今風に言うと
アジャイルだったっけ?
要はテーブル構造とリレーション
そのあとフォームを作って、ここは自動化できるな、とか
参照張ろうとか
神々たちのおかげで、winfowsAPI叩くマニアックな技も含めて、やりたいことは全てネットに載っている アジャイルは開発手法の概念でAccessだから、というものでもないですよ
でもDevOpsには向いていると思いますね みんなAccessスキルって実践で習得してるの?
今は簡単な抽出クエリ位しか使いこなせないけど、将来的には
式とか組んで使いこなしたい。やっぱ実践なのかな? 金額の累計や直前のレコードとからめて計算するときも
非連結で表示させるたびに計算するものですか? >>939
結局、SQLの勉強を始めたなあ。SQLしらないと効率良くクエリも組めないし。
VBAはネットで調べながらでも何とかなるけど、SQLはきちんと勉強しないと分からないし。 >>941
おすすめの本ありますか?
SQLできると具体的にどういうところで差がでますか? マイクロソフトが仕様の一言で改善しない問題をSQL知っていたら簡単に解決できる。 >>942
俺はミックさんの達人に学ぶ SQL徹底指南書を読んで、何度も引用されてたセルコの達人に学ぶ SQL徹底指南書を買った。両方とも良い本だと思う。
このほかにもSQLの本は何冊か買ったけど、しょうも無かった。
ミックさんの本もセルコの本の参考書として書かれたというし、やっぱりプログラミングの本は外国の本に限るね。 そうそう、上に上げた2冊にいろいろな問題が載っているけど、とてもクエリだけでは思いつかないものばかりだよ。 あれれ?セルコの本はプログラマのためのSQLだったわ。すまんすまん。 >>942
私は「SQLSERVER2016の教科書」4802610629
実際に持ってるのは2012だけど、多分そんなに手入れしてるわけではないと思う。
やりたいことは目次ですぐ見つかるし、このフレーズってなんだっけも
巻末のインデックスの網羅度が高く、使いやすい。
expressエディションの経験しかないけど、3段階くらいのプロセスかませるSQLだと、SQLSERVERの方が圧倒的に早いし、見た目スッキリしたSQL文を書けるので、この本は重宝してる。 Azureのsqlデータベースはaccessに対して有効活用できると思う? >>948
フロントがAccessである必要性から離れてくる。クラウドを通すことで、いかにコンパクトにレコードを引っ張ってくるかとか。
バージョン2000で提唱されて、2013でやや引っ込められた拡張子adpでの設計概念を求められる。
正式な資料を読んでないけど、単なるリンクを張った場合には、クエリの条件指定に関わらず100万レコードなら100万レコードを一旦全部読み込んでしまうんじゃないかな。
そこらへん、わかる人教えてけろ。 単なるリンクだとそうなるみたいです。パススルークエリにsqlハードコード書いて最小レコード引っ張ってくる事は出来ました。
これで多拠点業務システム作るのは効率悪いですか?accessしか触った事ないので、フロントに何使うべきかも分からなく、filemaker クラウド覚えた方がいいのか悩み中なのです。 >>950
>950 そうですか、やっぱり直リンだと全部読みますか。
パススルーとかadoで都度SQL生成、結構めんどくさいんですよね。
「社内SEでございます」って立場なら堂々と時間かけて作れるけど、
私たちたいてい社内で本業あるので作りこみに時間割いてると
サボってると思われるんですよね。
file maker cloud with AWSの値段見たら
10ユーザーで年18万くらいらしく、レコードプルの最適化作りこみも
必要なく、「社長、ipadでも使えるんですよ。外勤の人にも使えます」と言ったら訴求力あるかも。
他に、出先報告に最適化された製品としてはconmas i-reporterってのが年80万くらい
作成時はEXCELライクで、使用時はwebデータベース風になるらしい
会社の予算に余裕ができたら、ぜひ入れたいソリューションです。
なんせ私が作ったACCESS「ちょっと便利ツール群」は、私が退職したら一緒に死ぬシステムなので。 トランザクション処理を考えないと...いや、拠点別ワークテーブルをサーバでマージする?...絶望します。
やっぱり多拠点は、access+sql server < filemaker server なんでしょうかね...。 今の職場が9月末で契約終了なので、担当している業務で使ってるAccessの作業手順と
そのAccessで何をしているのか分かるものを残してほしいと言われています。
作業手順は前任の人が残したファイルがありますが、
Accessで何をしているか分かるものは自分で作らないといけません。
こういう場合一般的にこんな様式で作るものだというテンプレートってありますか? >>953 お気の毒様です。有期雇用であれば
全く不当な業務指示で、答える必要ないんですけどね。
(有期雇用の人に指示するべき内容は本来、社がすでに明文化して
限定的な業務であるべき)
EXCELなどを使って「1日の仕事の流れ」とかいうタイトルで
業務概要を書き、「この業務はACCESSの
なんとかってファイルを開いて行う。(操作マニュアルは別の書類
参照)」だけで良いのです。
多分、紙1枚分にもならないでしょう。 アクセスをクラサバ運用してるけど、
リモートデスクトップサービスすれば速いんじゃないの? すみません質問させていただきます。
アクセス2010
私は今までアクセスもvbaも触ったことがありません。
内容ですが、会社で毎日記録をエクセルで行っていたのですが少し面倒なのでアクセスに変えようと思い、個人的にデータベースを作ろうとしています。
今手詰まりなのが、検索フォームを作成しました。
写真を見て頂いたらわかると思いますが
日付を指定し検索ボタンを押すと検索結果かでる。まではできました。
そこで、検索結果をサブフォームに表示したいと思い
検索ボタンを元々埋め込みマクロ?でクエリ実行にしてたのですが
vbaにて
docmd.openquery"クエリ名" , acviewnormal,acreadonly
と書くことによって実行することができました。
合わせてその真下に
Me![サブフォーム名].Form.requery
を書き、サブフォームに結果が出ないか?と思いやってみましたが駄目でした…
どうすればいいのでしょうか?
またこういう考え方間違っているのでしょうか… テーブル内データを月間年間等でグラフ化
または細かく言うと日間(何日から何日までを選択し、表示されるデータをグラフ化)
など考えております。
自分でネットを使い調べながらやるつもりですがもし手詰まりになればここで聞くかもしれませんが、その際はすみません。 >>960
既に入力作業は開始してあるので
そのデータですね。
今確認すると、検索ボタンをクエリが別タブで開かれて
検索フォームに戻ると1/9になりました。
フォーム読み込み時は1/1です。
検索ボタンのvbaはこのようにしてみましたが、サブフォームには表示されませんでした。
上記の通り、レコードは1/9と出ますが真っ白です。
検索ボタンを押すと、別タブでクエリが開きます。
https://i.imgur.com/aXDSthR.jpg サブフォームのソースを毎日記録_Q1にしておけば
検索_Click で Me![検索結果_F].Form.Requery だけでいい >>962
vbaを言われたとおりにし、再度日付指定し検索ボタンを押すと
検索結果は別タブが開かず
サブフォームのレコード数が変わるも
データがなにも表示されません。
サブフォームに問題があるのでしょうか? >>962
すみません、ソースオブジェクトをクエリにすると表示されました…すみません…。 Access2007使ってるんですが、今後Accessはなくなるらしいし、2007はサポート外になったので乗り換えようと思ってるのですが、
Accessみたいにスタンドアローンで作動して、フォームのような入力画面を簡単に設定できる日本語対応の汎用データベースソフトって何が鉄板でしょう?
やりたいことは顧客管理と、物品管理(個人用)です
BASE(Lible)はなんか取っ付きがよくわからなかったっす Access後継?と思われていたVisual Studio LightSwitchが
あっという間に終了した以上、しばらくは無くならないんじゃない?
どうしても乗り換えるならFileMaker Pro Advancedあたりかな あーそんなものもあったな
なんだかんだで結局accessに戻るんだけどね >>967>>968
ありがとうございます
どうも無くなりそうもなさそうなので、2016手配したのでAccessで行きます
お礼書き込み遅くなってすみません
書き込んだ気になっていたのに、書き込まれてなかったっす >>966>>967>>968
ありがとうございます アクセス、vba初心者です。
アクセス2010です、os win7
質問します。
日付検索フォームを作りました。
日付期間を指定しボタンを押すとサブフォームに表示されるように。
これに、日付指定し
各ボタン(グラフ化)を押すとグラフが出るようにしたいです。
また記録している内容が一つのテーブルにまとまっているので、できればドロップダウンリストを追加し
この日からこの日までの〜を
グラフ化(温度なら折れ線等)
できますでしょうか?グラフ化は特にサブフォームとかには考えてないです。 https://www.hamachan.net/2011/03/blog-post_29.html
例えば↑これで説明すると、一番上の図の 開始日 終了日 をドロップダウンリストにしたい?
データが増えるととりとめもない量になってくからお勧めはしない
ここをクリックでカレンダー選択にするならまだマシ
この例の [印刷] ボタンを、[グラフ表示[ とかにして別画面に出すとかで簡単にできる
実際のグラフは一度グラフウィザード辺りで作成しておき、その後で抽出条件だの
フォーム名などを微調整していけばイージー VBA必要ですが出来ますよ。フォームに置いた日付やその他の検索条件の非連結テキストボックスで変数使ってフィルターしてグラフ表示。サブフォームやドロップボックスはいらないのでは? Access2016を勉強し始めたばかりです
http://ms-access.seesaa.net/article/7023148.html
2000をベースにした解説ページの↑をやりたいのですが、VBAの項がかなり違ってよくわかりません
作成→マクロとコード→標準モジュールでそれっぽいエディタ画面は出るのですが、左のコンボボックスにGeneral以外なく、右のコンボボックスにもそれらしいものがありません
左のコンボボックスでformを選択すると、左にformに対応した選択肢が出て、コードが自動で追記されるのだと思いますが、同じようにするにはどこをどうしたらよいでしょうか?
よろしくお願いします 複雑だったり集計対象が多くなる場合
計算結果をレコードに格納することがありますよね?
そのようなとき他のレコードの変更・追加・削除をしたときの再計算はどのように処理していますか?
何か変化があるたびに再計算するようにすると
そもそも格納している意味がありませんよね Access2010です
Sub その1()
DoCmd.OpenQuery "クエリ1"
End Sub
Sub その2()
Dim dbs As Database
Set dbs = CurrentDb
dbs.OpenRecordset "SELECT ID,name FROM テーブル1"
End Sub
その2のようにVBAでSQLを実行して
結果をその1でだしたときと同じいつもの表で出したいのですが
どうすればいいのでしょうか >>975
フォームをデザイン画面で開いて そこのメニュー フォームデザインツール デザイン ツール
と辿ればそこにコードの表示がある >>977
格納する意味が無いものなら毎回テーブル空にして追加 >>980
複数テーブルに渡ったり総計をだしたりと膨大なレコードを対象とする複雑な計算の場合は
格納したほうが速くなるみたいですが
どう更新するんですか?
ってことです どゆこと? 「膨大な」レコード対象は時間が無駄だからSELECTで絞り込んだレコードを
別テーブルAに格納してそちらで ということだと思ったが違うのか?
他のテーブルで追加・削除・変更する都度テーブルAをDeleteしてInsert Into と思ったんだが
変動する対象レコードを格納するだけのテーブルの意味じゃ無い? すまんね、読解力不足で >>982
例えば勤怠管理で
前回の退勤時間から何時間たっているか
退勤時間と次の出勤時間が所定の時間をみたしていない場合は前回の労働時間に加算する
月間、年間の法定労働時間をこえていないかチェックする
週や月で労働時間の上限を設定しておき、ソレをチェックする
などの計算です
レコードが増えてくると表示させるたびにすべてのレコードが対象になるので遅くなりますよね? >>983 横からですが、基本は在庫管理と同じです。
在庫管理にも色々なアプローチがあって、月次ごとに
初期値を埋めて(退勤管理であれば初期値ゼロ)、個別データの
テーブル(在庫管理であれば入出庫履歴、退勤であればタイムカード)を
入力すると同時に、月次管理用テーブルにも同時書き込みします。
(在庫なら出庫の時、現在在庫からマイナス、入庫の時は現在在庫にプラス。退勤管理は単純に加算)
このやり方で、検討しなければならないのは、確実に201808の1番商品
(社員番号1番)を見つけてupdateを掛けるということ、
訂正をかけなければならない時はいくつ戻さなければならないのかを
追尾する必要があるということです。
VBAのトリガー動作無しに、個別データを単に削除・更新すると
月次管理用テーブルでの追尾が不可能になります。
(解決法としては削除時とか、更新前に
oldvalueプロパティでひっぱってくるなど)
なので、ACCESS VBAに慣れていないうちは、個別データ(タイムカード)を元にし、月次でグループ化した集計クエリーを都度計算させる方が楽です。
システムのライフサイクルにもよりますが、5年分とか全部を対象に
すると重くなるので、先に「今月について」のように対象データを
絞っておきます。
インターバル時間まで管理ですか?結構、難しい案件なので
ちゃんと予算をとってシステムベンダーに作らせるか、
もしくは業界特有なのであれば(介護や病院など夜勤の多い職場)、
最適化されたパッケージもあるのでそっちの方が良さそうですが。
なにせ、労務管理・給与計算を間違うと従業員の信頼を一気に失う
センシティブな管理内容ですので。 >>984
次スレにまたがるかもしれませんけど
時間があるときにじっくり読んでためしてみます
それでわからなかったらまた質問いたします >>967
ファイルメーカーは何かと大変なんだよなあ
細かいところがめちゃくちゃというか
コレクション管理とかにしか向かないイメージ
末締め請求書の作成をやろうとしたけどできないこと多すぎて諦めた powerapps って access と連携させたりできるんですか? >>988
ぱっと思い出せるものでいいので教えてくだしゃい >>990
非連結フィールドがない
なんであれすべてフィールドに格納しなくちゃいけない
クロス集計がない
集計が独特すぎる >>991
なんだそりゃ?何ができるんだろう?
・・・って感じた
ファイルメーカー持ち上げる書き込み、昔はよく見たけど今は本当に見なくなった、その理由がわかったわ
ありがとう! >>992
あと
レコードのグループ化もできない
レポートでページごとの小計もできない(力技でできる) ただし見た目はおしゃれにできる
映画の視聴記録に使ってる >>989
accessというよりsharepointがデータプールになる使い方であれば、両方からデータ接続できるんじゃない。
フロントエンドは全く別物としての開発になるけど。 会員管理をしたいと思っています
accessを始める前に根本的な質問です
会員から回収した資料を画像ファイルにし、その画像ファイルを見ながら当該会員とヒモ付け
そのヒモ付けを受けて、紐づけされたファイルをリネーム(会員名や時刻で)し、会員すべての画像資料を一括保存しているフォルダから、自動でその会員用フォルダにコピーし会員用フォルダでも保存
みたいな、データベースで関連付けた各種ファイルの操作というのもaccessで可能なのでしょうか?
VBA勉強して使えばいいのでしょうか? このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1280日 19時間 57分 16秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。