
No.3ベストアンサー
- 回答日時:
エクセルとアクセスの設計面からのニーズや仕組みの違いを鋭く突いた質問と思います。
エクセルでは、全セルに番地が振られ、クリックで1つの番地を指定できてそこにデータをセットできて、セルデータをA2のような表現指定を使った演算が出来て演算結果を望みのセルにセットできます。しかしアクセスではテーブルの行単位に当たるレコード単位のデータ保持になっており、それに番号(フィールドとしての番号とは別)やアドレスを振られた仕組みではありません。そのレコードの中を構成する、フィールド(項目)も簡単に番号で指定して掴まえられません。例えば第3レコードの左より4番目のフィールドを思い描いても、F(3,4)のような、指定は(ソフトを組めば別ですが)させてくれません。
そもそもアクセスのテーブルは、他のレコードや自分のレコードの他のフィールド間の演算で計算されるフィールドは、テーブルに保持しない思想です。(出来るだけ「素の」データだけを保持する考え。)
同一レコードのフィールド間の計算で出るフィールド(項目)はまだアクセスでやや簡単にできて良いですが、前後のレコードとなるとアクセスでは苦労します。
1方法としてModuleに下記を張りつけ、実行すると、「
前日比」が出ます。(SQLのUPDATEでもできるかも知れない)
「前日比」のフィールドは、前もって追加しておきます。
下記では、mに現在のレコードのフィールド「数量」の値を保持して、次レコードを読んだ時に使うと言う風に、「1レコードづらして」使用するという、工夫(常套手段)をしています。
Sub test05()
Dim dbs As Database
Dim rs As DAO.Recordset
Set dbs = CurrentDb
Set tdf = dbs.CreateTableDef("会員名簿T")
Set rs = dbs.OpenRecordset("会員名簿T", dbOpenTable)
m = 0
rs.MoveFirst
'----
While Not rs.EOF
n = rs.Fields("数量")
' MsgBox n
rs.Edit
rs.Fields("前日比") = n - m
rs.Update
m = n
rs.MoveNext
Wend
'-----
MsgBox "終り"
rs.Close
dbs.Close
End Sub
番号姓名名前カナ名住所数量前日比
00001山田三郎ヤマダ サブロウ京都市2323
00002上田ニ郎ウエダ ジロウ大津市3411
00003川田太郎カワタ タロウ膳所市5420
00004村田幸雄ムラタ ユキオ彦根市8228
00005町田初男マチダ ハツオ長浜市9311
1レコードづつ掴まえて、処理して、フィールドの内容を
変えるプログラムですが、各行で何をやっているかを知り、自分の問題の場合の、変え方(少しの変更です)を知れば、応用が広いと思います。
No.4
- 回答日時:
アクセスでエクセルのようにデータシートビューが表示されますが、これはレコードの一覧に過ぎず、各レコードは独立していると考えて良いとお思います。
よって、データシートビューで上のレコードの値を合計して入力するとことはできません。集計を行うには、選択クエリを使用します。
ここで、集計の項目で、各フィールドに ”合計”や”グループ”、”選択”等の条件を設定します。
使い方の詳細については、アクセスにサンプルデータベースが付属していますのでインストールして確認してください。
No.1
- 回答日時:
できないです。
というか、行という考えがないのかな?
特定のフィールドの値によって、レコードを特定させる必要がありますね。
この回答への補足
書くところを間違えました。
ありがとうございます。
っということはエクセルで行っている、前日分-本日分(1回目:B2=A2-A1,2回目B3=A3-A2)というようなやり方をアクセスで行うにはどのようにすればよろしいでしょうか?
もしかして根本的に不可能?
ありがとうございます。
っということはエクセルで行っている、前日分-本日分(1回目:B2=A2-A1,2回目B3=A3-A2)というようなやり方をアクセスで行うにはどのようにすればよろしいでしょうか?
もしかして根本的に不可能?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FM8で文字列の連結
-
差込印刷で顧客別に複数行のデ...
-
ACCESSのデータ消失について
-
「ファイルメーカー」で宛先の...
-
FileMakerで全レコードを対象外...
-
FileMaker起動時に前回終了時の...
-
Accessで最終レコードの削除に...
-
SELECT時の件数制限
-
ホスト汎用機でのNDBアクセス方法
-
Btrieve6.15ddfファイルなしを...
-
ファイルメーカーで最大シリア...
-
Accessのレポートの集計に条件...
-
ラベルをクリックしてレコード...
-
ファイルメーカーで一括入力す...
-
ACCESSのフォームで次のレコー...
-
「#エラー」の回避
-
アクセスで入力したデータの順...
-
Access2007でSQLの複数列副問い...
-
Accessのレポート機能で空白に...
-
sqlserverで書式チェックしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷で顧客別に複数行のデ...
-
ACCESSのフォームで次のレコー...
-
Accessのレポートの集計に条件...
-
PSQLで-- More --を表示しない方法
-
ファイルメーカーで一括入力す...
-
日付の加算・減算ってできますか?
-
ファイルメーカー印刷時の改ページ
-
ADOで現在のレコードの次のレコ...
-
ファイルメーカーで該当件数を...
-
ファイルメーカーで最大シリア...
-
アクセスデータベースのUnicode...
-
ファイルメーカーでレコード複...
-
accessのマクロで「一時変数設定」
-
ACCESSでオフセットを求める方法
-
ラベルをクリックしてレコード...
-
ACCESSのレコード操作で1つ前...
-
Docmd.Findrecordで空白の検索方法
-
アクセスでのエクセルでいう行...
-
ファイルメーカーでレコード複...
-
ファイルメーカープロでレコー...
おすすめ情報