No.1ベストアンサー
- 回答日時:
私も、以前に同様の内容を調べたことがあるのですが、SQL文による位置の指定方法は見つかりませんでした。
SQL文以外の方法としては、下記のような方法が考えられます。
■方法1■
現テーブルのデータをエクスポート(CSV形式等)
↓
(新テーブルを現テーブルと同名にしたい場合、このタイミングで現テーブル削除)
↓
希望レイアウトで新テーブル作成
↓
新テーブルにデータをインポート
■方法2■
現テーブルをリネーム
↓
希望レイアウトで新テーブル作成
↓
INSERT~SELECT文で現テーブルから新テーブルにデータコピー
↓
現テーブル削除
■方法3■
EnterpriseManager(7以降?)のGUI操作により、希望位置に列追加
■方法4■
VIEW定義により代替
ざっくりした説明ですので、補足説明が必要でしたらおっしゃってください。
また、他のよい方法をご存知の方がいたら、ぜひ知りたいです..
この回答への補足
回答ありがとうございます。
VB6のソースコード上から実行したかったので、
とりあえず、■方法2■でやってみました。
ちなみにトランザクションをかけた状態で、
新テーブルを作成
↓
データコピー
↓
現テーブル削除
↓
新テーブルリネーム
だと実行時エラーが発生してしまいました。(分散トランザクションがどうとか...)
テーブルのリネームは最初にやらないとまずいのでしょうか。それとも、他の問題でしょうか。
あと、■方法4■はどういうことでしょうか。
お暇でしたらよろしくお願いします。
No.2
- 回答日時:
遅くなりすみません。
■方法2■ではエラーとなってしまったとのことですが、すみませんがちょっと原因はわからないです。トランザクション関連のエラーのようですね。エラーメッセージなど、詳しく教えていただければ調べられるかもしれません。
■方法4■ですが、ビューの使用方法はご存知でしょうか?
例を挙げて説明します。
pk, clm1,clm2 の3列をもつテーブルTbl1(既存。キーはpk)
↓
pk, clmAを持つ新テーブルTbl2(新規作成。キーはpk、clmAは追加したい項目)
↓
pk, clm1, clmA, clm2 の順のレイアウトでビューView1を定義
CREATE VIEW View1
AS
SELECT Tbl1.pk, Tbl1.clm1, Tbl2.clmA, Tbl1.clm2
FROM Tbl1, Tbl2
WHERE Tbl1.PK = Tbl2.PK
↓
View1に対してSELECT等を実行することで、列を追加したTbl1に対してSELECT等を行っているかのように見せることができる。
下手な説明ですみません。
さらに補足が必要でしたらおっしゃって下さい。
返答がだいぶ遅くなってしまい、すみません。
結局、■方法2■でうまくいったので、使用させてもらうことにしました。
エラーの原因は、ソースコードへのSQL埋め込み時に ";" で区切って多くのSQL文を実行しようとしていたため、エラーとなっていたみたいです。一文ずつ実行したら、とりあえずうまくいきました。
ビューの説明はわかりやすかったです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) Accessテキストボックス内に2つのフィールドの値を比較して大きい方の値を表示させる方法 1 2022/09/09 10:50
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
このQ&Aを見た人はこんなQ&Aも見ています
-
とっておきの「夜食」教えて下さい
真夜中に小腹がすいたときにこっそり作るメニュー、こっそり家を抜け出して食べに行くお店… 人には言えない、けど自慢したい、そんなあなたの「とっておきの夜食」を教えて下さい。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
土曜の昼、学校帰りの昼メシの思い出
週休2日が当たり前の今では懐かしい思い出ですが、昔は土曜日も午前中まで学校や会社がある「半ドン」で、いつもよりちょっと早く家に帰って食べる昼ご飯が、なんだかちょっと特別に感じたものです。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
【お題】 ・このサンタクロースは偽物だと気付いた理由とは?
-
希望の位置へフィールドを追加するには?
その他(Microsoft Office)
-
列を移動させるvbaコードを教えてください。
Access(アクセス)
-
アクセス VBAで列の入れ替え データシートビュー
その他(Microsoft Office)
-
-
4
ACCESSのフィールドの表示順が変更できない
その他(Microsoft Office)
-
5
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
6
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
7
VBAコード記述に際して、コード全体を自動的にインデント付ける方法
Access(アクセス)
-
8
VBAでCSVファイルが使用中かどうかの確認
Visual Basic(VBA)
-
9
Access vbaで重複レコードの削除がしたい
Visual Basic(VBA)
-
10
accessでlaccdbファイルが削除できずファイルが使えない
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クエリのキャンセルがいつにな...
-
accessテーブル作成クエリを実...
-
SI Object Browserのテーブルス...
-
UNIONなどで複数のテーブルから...
-
コンボボックスで入力したもの...
-
エクセルでテーブルの最終行が...
-
SQLスクリプトを自動生成する方法
-
ストアドをまたがるローカル一...
-
あるテーブルのデータを追加、...
-
位置を指定してフィールドを追...
-
ユニオンクエリの結果をテーブ...
-
SQLサーバーのテーブルの値...
-
非関連テーブルのインポート
-
列サイズ変更時、DB停止は必要?
-
SQL文によるシードとインクリメ...
-
AccessでOracleのテーブルをリ...
-
レプリケーションしているテー...
-
「マスタ」と「テーブル」の違...
-
3つ以上のテーブルをUNIONする...
-
ACCESSのSQLで、NULLかNULLでな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クエリのキャンセルがいつにな...
-
accessテーブル作成クエリを実...
-
SI Object Browserのテーブルス...
-
エクセルでテーブルの最終行が...
-
ユニオンクエリの結果をテーブ...
-
あるテーブルのデータを追加、...
-
UNIONなどで複数のテーブルから...
-
ストアドをまたがるローカル一...
-
AccessでOracleのテーブルをリ...
-
コンボボックスで入力したもの...
-
SQLスクリプトを自動生成する方法
-
SQLサーバーのテーブルの値...
-
テーブル作成クエリで新テーブ...
-
アクセスのテーブル作成クエリ...
-
重複するレコードに対しフラグ...
-
レプリケーションしているテー...
-
列サイズ変更時、DB停止は必要?
-
VIEWしか読み取れないユーザの...
-
Access のリレーションシップで...
-
位置を指定してフィールドを追...
おすすめ情報