Access2000からリンクを貼ったExcelテーブルがあるのですが、データの消
し方がわかりません。通常ISAMの関係上データを削除が出来ないのがわかっ
たのですが、何か方法は無いものでしょうか?
どうしてもExcelの印刷機能が必要になりまして・・・
お願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

少し勘違いな回答を書いてしまいましたが、


おかげでやりたい内容が理解できました。

AccessからEXCELにEXPORTする場合、Accessで作成されたデータセットを
常にファイル毎上書き保存しているようです。
手動のEXPORTでやってみたところ同一ファイル名でそのまま保存すると
「データベースオブジェクト’Excelファイル名’は既に存在します。」
と言う確認メッセージが表示されます。そこで[はい]を選択するとファイルが
上書きで保存されます。したがって以前のデータが残る心配はありません。

また、おせっかいついでにEXPORTをVBAで書くと
Sub xls_export()
'EXCELへのEXPORT
DoCmd.TransferSpreadsheet acExport, , "テストテーブル1", "c:\test.xls"
End Sub
となります。これだと上書き確認がこないので誤操作も無いかと思います。
また、テーブル名のかわりにクエリーも使用できます。

以上、ご参考になれば幸いです。
    • good
    • 0
この回答へのお礼

早速の返答ありがとうございます。
ご丁寧にソースまで書いていただき
早速試したいと思います。
>大変参考になりました。
>では失礼致します。

お礼日時:2001/12/07 11:47

AccessからExcelのリンクデータを修正、追加することはできるようですが削除だ


けはだめみたいです。追加、変更はデータを書込むだけでいいのですが削除は行削
除というエクセルの機能を使用しなければならないからでしょうか?

必要なデータだけを取出してレポート印刷することが目的でしたらExcelのリンクテ
ーブルを元にしたクエリーを作成してそれをレポートのレコードソースに指定すれ
ばできそうな気がします。
例えば、エクセル上に削除フラグという項目を追加してそこに 1 が入っているもの
は抽出しないとか...

この回答への補足

回答ありがとうございます。
実はAccessのDBをExcelに書き出してそこからExcelの関数を
使用して、帳票を作成しております。
Accessで書き出した際にシートは削除されて新規シートとして
扱われるのでしょうか?
もしそうであればデータを削除する必要は無いのですが、データの
上書きだと以前のデータが残る心配をしております。
もしよろしければご教授お願い致します。

補足日時:2001/12/07 09:14
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qフェッチでデータが上書きされます

こんにちは。perl + html + mysqlのコーディングで悩んでいるので質問させてください。
複数フィールド+複数件(例えば13フィールド+3件)のデータがテーブルに存在する時、SELECT文でそのデータを取得したいとします。
分からない所はフェッチの部分なのですが、

$i=0;
while($selectdata[$i]=$sth->fetchrow_arrayref(
$i++;
}

----[中略]-----

for($i=0;$i<$rows;$i++){
print "[SELECTデータ->$i]\n";
for($j=0;$j<13;$j++){
print "$selectdata[$i][$j]\n";
}
print "<BR>\n";
}

表示されたデータが3件とも、3番目のデータが表示されます。
フェッチで取得したデータを配列にいれる段階で、上書きしているような気がするのですが、具体的にどこが悪いか分かりません。
ご教授お願いいたします。

こんにちは。perl + html + mysqlのコーディングで悩んでいるので質問させてください。
複数フィールド+複数件(例えば13フィールド+3件)のデータがテーブルに存在する時、SELECT文でそのデータを取得したいとします。
分からない所はフェッチの部分なのですが、

$i=0;
while($selectdata[$i]=$sth->fetchrow_arrayref(
$i++;
}

----[中略]-----

for($i=0;$i<$rows;$i++){
print "[SELECTデータ->$i]\n";
for($j=0;$j<13;$j++){
print "$selectdata[$i][$j]\n";
}
...続きを読む

Aベストアンサー

いや、
>$i=0;
>while($selectdata[$i]=$sth->fetchrow_arrayref(
>$i++;
>}
これを

my @selectdata;
while ( my $array_ref = $sth->fetchrow_arrayref ) {
push @selectdata, [ @{$array_ref} ];
}

みたいな感じで受け取ったリファレンスを一旦デリファレンスして、
その要素を含む新しい無名配列を生成すれば良いと思いますけど。

Qデータが入っているAccessのテーブルにExcelのデータをインポートしたい

内容としては件名の通りなのですが、現在既にAccessのデータにデータがいくつか入っています。それにあとからExcelのデータをインポートしたいのです。普通のインポートだと新しいテーブルができてしまいますよね?そうではなくて、データの途中からインポートする、と言うのはできるのでしょうか。ちなみにデータを貼り付け、というのはできませんでした。回答宜しくお願いします。

Aベストアンサー

Excelのテーブルをリンクし追加クエリーでそのテーブルに追加したらどうですか?

QiPhone「データの取得方法」について

こんにちは。先々月くらいにiPhoneを購入した者です。
iPhoneの「データ取得方法」について質問があります。
予想外にパケット通信料の請求が多かったため、サファリや天気など通信
を必要とするアプリを使用しないようにし、「データの取得方法」をフェ
ッチの15分ごとに変更しました。ただ、「データの取得方法」のプッシュ
とフェッチの違いがよく分かっておらず、プッシュをONにしたままが通信
の節約になるのか、それともフェッチの15分間隔(若しくは30分)が良い
のか分かりません。メールの量は送受信併せて1日30~40で、使わない時
は全く使いません。ただ緊急を要するメールもあるので手動でのメール
取得は考えていません。
前述したように、プッシュとフェッチどちらがパケットの節約になるのか
教えていただきたいと思います。その他パケット通信節約のための小ネタ
などがあれば教えてください。
よろしくお願い致します。

Aベストアンサー

ExchangeServerやMobileMeなど、サーバ側から自動的に送られてくるメールがプッシュメール、通常のメールのように自分から取りに行くメールがフェッチです。
プッシュであれば一定時間ごとにメールボックス確認に行く手間がないため、その分安くはなります。
が。通常のメールをプッシュで使うことはできないので、基本的に選択肢はあってないようなものです。
ExchangeServerやMobileMe使ってなければ、回答としては変わらないってことになります。

ただ、基本的に通信をおこないまくる携帯なので、パケット通信はかかるもんだと思っておいたほうがいいです。

QACCESSの既存テーブルに、EXCELデータをレコードとして追加する事は可能ですか?

ACCESSの既存テーブルに、EXCELのデータをレコードとして追加する方法はありますか?
又は方法を説明しているサイト等ありましたら教えて下さい。

EXCELのデータは、シートの1行目に各項目名、2行目以降に各データが順次入力されている状態です。
尚、EXCELの項目名と、ACCESSのフィールド名は一致していない状態です。
例えば、
EXCELの項目名:「予約ID」、「予約名」、「予約日」
ACCESSのフィールド名:「rsv_id」、「rsv_name」、「rsv_date」
のような感じです。
ACCESSのフィールド「rsv_id」には、EXCELの「予約ID」項目のデータを入れなければいけません。
こういうことは出来るのでしょうか?

※マクロは使わないようにしたいです。

いったんACCESS上で、EXCELのデータを元に新規テーブルを作成してから、
その新規テーブルからデータを抽出して、既存テーブルにレコード追加するような、SQLを書けばできるでしょうか?

Aベストアンサー

1.Excelのデータを、Accessにインポートします。
2.クエリ/新規作成/デザインビュー、テーブルの表示で、1でインポートしたテーブル(T_Excelとします)を設定し、各フィールドをクエリのデザイングリッドにドラッグします。
3.ツールバーのクエリの種類で、追加クエリを指定すると、追加先のテーブルを訊いてくるので、既存テーブル(T_Access)を指定します。
4.レコードの追加欄に、対応する既存テーブルのフィールド名を指定します(選択肢が表示されますので、そこから選択します)
5.ツールバーの「!」アイコンをクリックするか、クエリを一旦保存・終了後、ダブルクリックして実行すると、レコードが追加されます。
SQLを表示させると、下記の様になりました。
INSERT INTO T_Access ( rsv_id, rsv_name, rsv_date )
SELECT T_Excel.予約ID, T_Excel.予約名, T_Excel.予約日
FROM T_Excel;

QPL/SQL内の共通関数の引数にフェッチしたレコードごと渡すのは可能?

カーソルでレコードを検索し、フェッチします。
その後、INSERTする共通関数を呼ぶのですが、
フェッチしたレコードの値でINSERTしたいのです。
引数で1コずつ渡すと数が多いので、フェッチしたレコードごと引数で渡せないかと
それって可能ですか?

Aベストアンサー

こんにちは。

 共通関数の引数にカーソルのレコード型(cursor_name%ROWTYPE)を
使用すればよいと思います。
ただこの場合は、汎用性に乏しいのですが・・・。

 よって個人的にはINSERT先のテーブル名のレコード型が
お勧めです。[テーブル名%ROWTYPE]
 カーソルのレコードから移し変える処理が必要になりますが、
登録処理が簡単に記述できますネ。
(INSERT INTO TAL_NAME VALUE record_type;)

QAccessのテーブルを外部データでとりこんだ後テーブル名を変えたら

いつもお世話になっております。

エクセルの参照のためのワークシートに、Accessのテーブルを外部データとして取り込んでいます。

今まではデータの更新をすればAccessのデータの最新のものに更新できていたのですが、テーブルの名前を変えたら、更新ができなくなりました。

この場合、もう一度最初から設定し直すしか方法はないでしょうか。
よろしくお願いいたします。

Aベストアンサー

エクセルで取り込むVBAのところで、テーブル名を変更すれば問題ないと思いますが。

Qデータハザードについて(パイプライン)

こんにちは。コンピューターアーキテクチャのパイプラインの項目の勉強をしていて、データハザードについて分からない問題があったので、質問させていただきます。

以下の二つのパイプラインの動作がよくわかりません。


基本的にはフォワーディングによって解決するデータハザードですが、メモリアドレス生成のときはフォワーディングは間に合わないので、結果の格納(W)が終わらないと命令フェッチ(F)ができないそうです。つまり
add r1, r2 .r3    F D E W
lw r4, dpl(r1)         F X X DEW

となるそうです。しかし
ld r2, c(r1)
subi r1, r1, 4
のように「ロード命令の次に算術命令」という順番ですと、ハザードは生じないそうです。


下の場合は上と違いr1のデータを更新するだけなのでフォワーディングによって改善ができるという解釈でよろしいのでしょうか?
上は本に書いてあったものなのですが、下のはインターネットから調べたものなのであっていない可能性があるので質問しました。

ちなみに両者ともロード命令の場合なのですが、ストア命令でも同じような振る舞いになるのでしょうか?

よろしくお願いいたします。

こんにちは。コンピューターアーキテクチャのパイプラインの項目の勉強をしていて、データハザードについて分からない問題があったので、質問させていただきます。

以下の二つのパイプラインの動作がよくわかりません。


基本的にはフォワーディングによって解決するデータハザードですが、メモリアドレス生成のときはフォワーディングは間に合わないので、結果の格納(W)が終わらないと命令フェッチ(F)ができないそうです。つまり
add r1, r2 .r3    F D E W
lw ...続きを読む

Aベストアンサー

「データハザード」ってのは, 端的にいうと「ある命令で得られた結果をそのあとの命令で使うために, 前の命令が終わるまで『あとの命令』の実行を止めなきゃならない」って状態.

ここに挙がっている例だと, 上のやつは add で得られた r1 を次の lw で使うから, 「r1 が得られるまで lw を実行できない」ということになる. ところが下の場合には ld の結果である r2 はそのあとで使わないから, ここで見えている分についてはハザードは生じていない (さらにあとの命令で r2 を使っていたら, ld とのタイミングでハザードが起きるかもしれん). あるいは,
ld r1, c(r2)
subi r1, r1, 4
なら明らかにハザードが起きる.

そして, はっきりいうと「ロードの場合はメモリからレジスタにデータを移すので算術命令のデータがメモリに書き込まれるまではストールしてしまう」というのは何をいっているのかよくわからん. もっというと「算術命令のデータがメモリに書き込まれる」とか「算術命令がメモリにデータを書き込む」とかの意味がわからん. どういうこと? どうせ MIPS かなんかの RISC なんだろうから, そもそも「算術命令の結果」がメモリに書き込まれることはありえないよ.

それぞれの命令を実行するために「確定していなければならないデータ」がなんなのか, そしてそれらが「どのタイミングで確定するのか」を確認してください. ここの例だと「add の結果がどこで出てきてどのタイミングにフォワーディングできるのか」とか「メモリアドレスをどのタイミングで生成するのか」とか, です.

とはいえ, 上の例で「どのステージが同時に起きているのか」がわからないんだよね.... add の D と lw の F が同じクロックと思っていい?

参考URL:http://akademeia.info/index.php?%A5%D1%A5%A4%A5%D7%A5%E9%A5%A4%A5%F3%A5%CF%A5%B6%A1%BC%A5%C9

「データハザード」ってのは, 端的にいうと「ある命令で得られた結果をそのあとの命令で使うために, 前の命令が終わるまで『あとの命令』の実行を止めなきゃならない」って状態.

ここに挙がっている例だと, 上のやつは add で得られた r1 を次の lw で使うから, 「r1 が得られるまで lw を実行できない」ということになる. ところが下の場合には ld の結果である r2 はそのあとで使わないから, ここで見えている分についてはハザードは生じていない (さらにあとの命令で r2 を使っていたら, ld とのタイミングで...続きを読む

Q別のテーブルから別のテーブルへデータを保存する方法

Access2002です。
二つのコンボボックス、大・小でそれぞれ絞り込みを行なうようにしています。
大で絞り込んだ結果が小に反映されるのですが、追加で新しい項目も登録させたいです。
その際に、次に絞り込みを行なうときに新規で小に追加された項目が、大を選んだ後にきちんと表示されるようにしたいのですが、その処理をどうすればいいのか分かりません。

それぞれ番号を振ってあるので、小に新規登録するときに、その時点で選択されている大の番号を自動で取得し、小のテーブルに入れられればと思っています。

大テーブル
・大項目コード(オートナンバー型)
・大項目(テキスト型)

小テーブル
・小項目コード(オートナンバー型)
・小項目(テキスト型)
・大項目コード(数値型:ここに大テーブルの「大項目コード」を入れたい)

テーブルは上記のようになっています。
絞り込みは下記のように、大・小ふたつ分記載してあります(名前以外は同じです)


Private Sub コンボ大_NotInList(NewData As String, Response As Integer)

Dim strmsg As String
strmsg = "登録されていない語句です。保存しますか?"

If 1 <> MsgBox(strmsg, 1) Then
Response = acDataErrContinue
Me.コンボ大.Undo
Else
DoCmd.SetWarnings False
DoCmd.OpenQuery "追加クエリ"
Response = acDataErrAdded
DoCmd.SetWarnings True

MsgBox "登録しました。"
End If

End Sub

追加クエリはフィールドに『式1: Forms!入力フォーム!コンボ.text』、レコードの追加には『大項目』としています。小も同様です。
現在は別のテキストボックスに大の『大項目コード』を表示させ、そこから小のテーブルに入れられないかと思ってます。テキストボックスに表示させるのは出来ました。
その値を、小に新規で項目を登録する際に、一緒に小テーブルに入れられればと思っていますが、実際にどうすればいいのか、、ネットや本で調べてみましたがさっぱり分かりません。
望む結果になれば方法は問わないので、お知恵を拝借できればと思います。
分かりづらい文章かもしれませんが、よろしくお願いします。

Access2002です。
二つのコンボボックス、大・小でそれぞれ絞り込みを行なうようにしています。
大で絞り込んだ結果が小に反映されるのですが、追加で新しい項目も登録させたいです。
その際に、次に絞り込みを行なうときに新規で小に追加された項目が、大を選んだ後にきちんと表示されるようにしたいのですが、その処理をどうすればいいのか分かりません。

それぞれ番号を振ってあるので、小に新規登録するときに、その時点で選択されている大の番号を自動で取得し、小のテーブルに入れられればと思ってい...続きを読む

Aベストアンサー

> 追加クエリはフィールドに『式1: Forms!入力フォーム!コンボ.text』、
> レコードの追加には『大項目』としています。小も同様です。

でしたら、『小テーブル』用の追加クエリに、もうひとつ列(フィールド)を追加すれば、
コードの方は特に触らなくても対応できるかと思います。


そのクエリをデザインビューで開いたら、以下のように「式2」の列を追加します:

   フィールド: 式1: (下記参照) 式2: (下記参照)
    テーブル:
    並べ替え:
レコードの追加: 小項目      大項目コード

・「式1:」の式部分:
  Forms!入力フォーム!コンボ小.Text
・「式2」の式部分:
  Forms!入力フォーム!大コード
  (大項目コードを表示させたテキストボックスの名前が「大コード」の場合)


・・・以上です。


要するに、

> 新規で項目を登録する際に、一緒に小テーブルに入れられればと思っています

という場合は、上記のように、必要なフィールド群を順次横に並べてやればOKだと
いうことです。

・・・質問の趣旨を誤解していたらすみません(汗)

> 追加クエリはフィールドに『式1: Forms!入力フォーム!コンボ.text』、
> レコードの追加には『大項目』としています。小も同様です。

でしたら、『小テーブル』用の追加クエリに、もうひとつ列(フィールド)を追加すれば、
コードの方は特に触らなくても対応できるかと思います。


そのクエリをデザインビューで開いたら、以下のように「式2」の列を追加します:

   フィールド: 式1: (下記参照) 式2: (下記参照)
    テーブル:
    並べ替え:
レコードの追加: 小項目     ...続きを読む

Q「スーパーフェッチ」と「プリフェッチ」の違い

Vistaで「スーパーフェッチ」機能とはよく使用するアプリケーションをメモリにプリロードするとありますが、XPの「プリフェッチ」機能にも似たような記載がありました。
この両者の機能で決定的な違いは何処でしょうか?
ご存知あれば教えて頂ければ幸いです。

Aベストアンサー

どのデータをプリロードするかを選択する戦略が賢くなったということです.

XPでは単に最も最近使ったデータを優先的に選んでいましたが,Vistaでは今までの履歴を学習してより最適な(次に必要になりそうな)データを選ぶようになりました.

参考URL:http://pc.watch.impress.co.jp/docs/2007/0226/mobile366.htm

QExcelで入力したデータをAccessのテーブルに追加したい

Accessに詳しい方に質問です。

Excelで入力したデータを、Accessのテーブルに追加したいのですが、サンプルソースなどを探してみるのですがなかなか見つからないので教えていただけると助かります。

勉強もかねて、家計簿を作ろうとしているのですが、
入力・集計結果表示はExcelで、データ管理をAccessで行いたいと思っています。例として、Accessのテーブルに追加したい項目として、
支出年月日、勘定科目、支出金額
を追加できるようにしたいのですが、VBAでどのように記述して良いのか行き詰まってしまっている状態です。

詳しい方、知恵を貸していただけないでしょうか。サンプルソースを掲示しているサイトでも教えていただけると助かります。

Aベストアンサー

mihimani51さん 今晩は!
>勉強もかねて、家計簿を作ろうとしているのですが、
Accessは初めてですか?
家計簿のレベルにも依りますが、Accessは可也面倒です。
最初からExcelで作成された方が楽だと思いますが。
■エクセルで作った家計簿を公開します↓
http://suin.asia/2008/08/08/excel-kakeibo.html
内容:Office2003 Excelで家計簿を作成しました。使う人はいないかもしれませんが、一応公開しておきます。
ソースをダウンロード出来ますので、先ずは人の作成したソースを理解され改善された上で物足りなければ、Accessの勉強をされた方が良いと思いますが。
★エクセル取込みしたテーブルから他のテーブルにレコード追加するには↓
http://www.accessclub.jp/bbs5/0034/vba10855.html
■Excelで作った備品一覧をAccessに取り込む↓
http://www.h7.dion.ne.jp/~htomix5/toss/komubunsyo/database/01/01.htm
例題は備品一覧ですが、これを支出年月日、勘定科目、支出金額に置き換えればよいと思います。
私も現役時代に会社の大規模なデータを取り扱う為に、Access98でプログラムを組んだのですが当時はサイトも無く毎日図書館通いで随分苦労ましたが、現在のExcel2003は格段と進歩していますのでデータベースを使用するだけのデータ数ならExcelをお勧めします。

mihimani51さん 今晩は!
>勉強もかねて、家計簿を作ろうとしているのですが、
Accessは初めてですか?
家計簿のレベルにも依りますが、Accessは可也面倒です。
最初からExcelで作成された方が楽だと思いますが。
■エクセルで作った家計簿を公開します↓
http://suin.asia/2008/08/08/excel-kakeibo.html
内容:Office2003 Excelで家計簿を作成しました。使う人はいないかもしれませんが、一応公開しておきます。
ソースをダウンロード出来ますので、先ずは人の作成したソースを理解され改善された上で物...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング