システムwiki

フィールド名をあるテーブルから別のテーブルにコピーします

SanCarl 解決済 最終更新日:2021-06-14 18:14

私は2つのtableを持っています、そして私は受信tableからデータを失うことなく、あるtableから別のtableにフィールド名をコピーしたいです.

以下は例です:

表1:表2

にコピーしたいフィールド名を持つデータなし

表2:データの175K行.

私の目標は、表2のデータを失うことなく表1から表2にフィールド名をコピーすることです.それをする簡単な方法はありますか?私はAppend Queryを実行することを検討しましたが、tableに98フィールドがあるため難しいです.あなたの助けは大いに感謝されています

返信リスト(回答:6)

1 #
DirkGol

助けてうれしいです.面白い質問でした.

5 #
DirkGol

表2のフィールドの名前をTABLE1の対応するフィールドの名前に変更したいです.

各tableに98フィールド、または2つのtableが組み合わされていると言っていますか? 98フィールドは1つのtableに持つための多くのフィールドです.その数の半分でさえも多くのフィールドです.それは私があなたのtableが正しく構造化されているのだろう疑いになります.

応答5# ->にスキップ
6 #
SanCarl

表2のフィールドの名前を変更するだけでよろしく、表2のフィールドはフィールド1、フィールド2などと呼ばれます.表2のフィールド定義を変更したくないです.

応答6# ->にスキップ
3 #
DirkGol

tableが同じ順序で同じ数のフィールドを持つ場合、この手順は機能する必要があります.

サブコピーFieldNames(文字列としてコピーFromTable、文字列としてコピートータブル)

DAO.DatabaseとしてのDIM DB
DAO.TABLEDEF

DAO.TabledEfとしてDIM TDFTO
DIM i整数

db= currentdbを設定する
tdffrom= db.tablefs(copyfromtable)を設定する
tdfto= db.tabledefs(コピーテット可能)

i= 0からtdffrom.fields.count-1
tdfto.fields(i).name= tdffrom.fields(i).name
次のi

終了SUB

このように呼び出すでしょう:

CopyFieldNames「表1」、「表2」

上記は迅速かつ汚れていることに注意してください.エラー処理または保護措置を追加していません.あなたは確かにそれを実行する前にデータベースの良いバックアップを持ちたいと思うでしょう.

応答3# ->にスキップ
4 #
SanCarl

そのマクロを作成して実行するプロセスを通して私を歩くことができますか?私はかなり初心者のユーザーです.

応答4# ->にスキップ
2 #
DirkGol 1

それはマクロではありません、それはVBAプロシージャです.WordとExcelでは、「マクロス」と呼ぶものはVBAの手順ですが、アクセス中、マクロとVBAの手順は異なる動物です.

これは何をすべきかです:

1.リボンの作成タブで、「モジュール」(「クラスモジュール」ではなく)をクリックして新しいコードモジュールを作成します.新しいモジュール(おそらくwindows 内のwindows に表示されている "Module1"という名前の "

という名前の" vbエディタwindows が開きます.

2.モジュールwindows で、コードペインに、上部にある「オプション比較データベース」という行が含まれます.設定に応じて、別の行、「明示的なオプション」が表示されることがありますが、おそらく1行だけです.

3.投稿したコードを「サブコピーFieldNames...」の行から「END SUB」行にコピーし、「オプション...」回線の下にある[モジュール]windows に貼り付けます.

4.ツールバーの[保存]ボタンをクリックしてモジュールを保存します.モジュールの名前を変更しないか変更することも、モジュールとプロシージャーの名前が同じ名前の場合はアクセスが混乱しているため、モジュールの名前を変更できます.

5.メニューバーで、[デバッグ-]->[コンパイル]をクリックします.エラーメッセージがポップアップされている場合は、それらに対処する必要がありますが、データベース内のすべてのコードであればエラーなしでコンパイルする必要があります.

6.すでにデータベースのバックアップを行っていない場合は、今すぐ実行してください.

7.手順を呼び出すには、Ctrl + Gを押して即時windows を開きます.即時windows に、行をコピーして貼り付けます.

CopyFieldNames「表1」、「表2」

そして必要に応じてtable名を変更してください.「表1」の場合、フィールド名をコピーするtableの名前を置き換え、フィールドの名前を変更するtableを代入します.table名を引用符で囲みます.作ったとき
必要な変更点をクリックして、その行の終わりをクリックしてEnterキーを押して実行します.

8.メッセージが表示されている場合は、問題が発生したことがわかります.それ以外の場合は、デザインビューでtableを確認して結果を確認してください.