• ベストアンサー

ACCESS97でのゼロサプレスについて

ACCESS97にてテキストファイルをリンクしているのですが、 そのテキスト情報の中に「0」のついているコードが存在します。 このコードをリンクしたときにゼロサプレスにする方法はありますか? リレーションをしようとしているテーブルのコードがゼロサプレスのテキストのため、 出来たらテキストのままゼロサプレスに出来るといいのですが・・・。 もし方法がなければ「0」付テキストでリンクして、 それをACCESS内でテキストのままゼロサプレスににてテーブルに返すような方法をお教えいただけると助かります。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • gatyan
  • ベストアンサー率41% (160/385)
回答No.1

よくやる逃げの方法(読み込みだけなら) - クエリをはさむ 先頭の 0 をとる関数を作成する。 新しくクエリを作成する。作った関数を使ってゼロサプレスしたフィールド+必要なフィールドを追加 作ったクエリを使ってリンクする。 先頭の 0 を取る関数例(数字だけなら、Str(Val(・・・))でもOKか?) Function zs(a As String) As String Dim pos As Integer Dim here As Integer here = 0 For pos = 1 To Len(a) If Mid(a, pos, 1) <> "0" Then here = pos Exit For End If Next pos If here > 0 Then zs = Mid(a, here) Else zs = "" End If End Function

rerere_no_ojisan
質問者

お礼

ありがとうございました。 しばらくこの方法で逃げてみます。

関連するQ&A

  • AccessでCSVインポートのゼロサプレス停止

    AccessVBAでCSVインポート時にゼロサプレスをせずに行いたいです。 現状は下記のソースでインポートしていますが数字のみが入っているテキスト項目でゼロサプレスが行われてしまいます。 DoCmd.TransferText acImportDelim, , [テーブル名], [ファイル名] 下記のものについては事情があって対処として厳しいです。 ゼロサプレスのみを止めるよい方法はないでしょうか。 ■インポート定義を使用する ⇒50種類ほど列項目が異なるテーブルがあり、また時々フォーマット変更があるため事前に定義しておくことは難しい。 ■表示フォーマットを指定する ⇒5桁項目に4桁のデータであったり3桁のデータである場合があるがそれらをそのまま保持したい。 ■CSV作成時にダブルクオーテーションで囲む ⇒CSVの作成側に対応依頼はしたができないとの回答があった。 現状としてわかっていることとしては、値をダウブルクオーテーションで囲うことでゼロサプレスを回避できることはわかっているため、 Accessマクロの中でExcelを呼び出しダウブルクオーテーション付で保存できないかと考えていますがうまくいっていない状況です。 Access単独、Excelを使う方法などゼロサプレスを回避できる方法をご教示願います。

  • Access 一対一リレーションの編集

    こんにちは 現在、Accessと他のソフトとの連携をするために奮闘しています。。。知恵をお貸下さい。 Accessには元々受注テーブルがあります。 主キーID:オートナンバー 受注日:日付型 納期:日付型 図番:テキスト型 数量:数値 単価:数値 とあり、データがすでに存在しています。他のソフトへエクスポートを継続的に行うにあたって 新規にテーブルを作成し、一対一リレーションをしようとしています。 新規テーブルは 主キーID:オートナンバー 取引先コード:テキスト型 担当者コート:テキスト型 区分コード:テキスト型 実出荷日:日付型 エクスポート状況:数値 そして、受注テーブルと新規テーブルのIDを一対一でリレーションしクエリを作成し、エクスポートしようと思っています。 その際、新規テーブルの方はデータが空なのでクエリ結果が得られないと思うのですが。。。 どうやって既存の受注テーブルと一つ一つのレコードを繋げる事が出来ますか❓ 編集方法をどなたか教えて下さい。 素人ですみません。

  • vb6でaccessデータを他ファイルに複製

    vb6を使用し、1から2へのデータ移行が求められています。 1.accessファイルA / テーブルが複数ある / データが沢山入っている / リレーションが無数に張られている 2.accessファイルB / テーブルが複数ある(一部新しいテーブル・フィールドが増えている) / 空データ / リレーションが同様に無数に張られている リレーションが無数になければ、インポート等でよいのですが、 色々考えて、必要テーブルの、docmd acimportを試しましたが、リレーションが崩れるのでダメでした。 簡単にいえば、手動でデータを1から2にコピー→ペーストしたいような感じです。 何かよい方法はありますでしょうか。

  • ACCESS2000でのリンクテーブルの更新方法

    ACCESS2000でリンクテーブル(.txtファイル)を使用して います。テキストファイルは直接更新できるのですが ACCESS上でリンクテーブル内のデータを更新しようとする と、"このISAMでは、リンクテーブル内のデータを更新することはできません。" とエラーがでて更新することができません。 Accessでも更新したいので、どなたかご存知の方がいらっしゃいましたら教えて下さい。

  • accessのレポートで…

    レポート(テーブル1から作成)にあるフィールド1には「1・2・3…」という数字が入っています。 この1・2・3はテーブル2(ID・名前)とリンクしています。 フォーム上ではコンボボックスにして、テーブル2の名前も表示するようになっています。 (テーブルに値としては入っていません) これでレポートを作成した場合、テーブル2の名前を表示させたいのですが、テキストボックスで Iif([フィールド1] = "1","****",Iif(… というようにしてしまうと、せっかくリンクにしたのにデータが固定になってしまうのを避けたいんです。 フォームだとコンボボックスの更新後処理とレコードの移動にコードをかけば最新の情報を表示することができたんですが、レポートでもこのようなことはできるんでしょうか? (コードをかいて処理したいです) Access2000です。 よろしくお願いします。

  • Access2000フォームにリレーションしたテーブル内容を入れたい

    Access2000フォームにリレーションしたテーブル内容を入れたい Access2000を利用していますが、フォームにリレーションしたテーブル内容を表示したいです。 具体的には 顧客情報テーブルのフォームに履歴テーブルの情報や、入金テーブルなどを表示したいです。 サブシートでは見づらく入力ミスとかが発生してしまうので・・ よろしくお願いします。

  • アクセス97のファイルをアクセス2007で開くには

    はじめまして。 手元にAccess97で作成したmdbファイルがるのでが、Windows7環境のAccess2007で開くことができません。 エラーメッセージは、「オブジェクト 'テーブル1'が見つかれませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください。」となっています。 このファイルをAccess2007で開くためには、いったんAccess2000~Access2003で保存し直したうえで、Access2007で開く必要があるという情報をMSのページで見ました。 しかし私はAccess2000~Access2003環境を持っておりません。 そのような中で、このAccess97で作成したmdbファイルを開かなければならないのですが、何か方法はないでしょうか。 ご教示いただけると誠に幸いです。 どうぞよろしくお願いいたします。

  • アクセスで同じ値を引き出してくる方法

    アクセス初心者です。 フォームのテキストボックス(txt開催日)に『12345』と言う値が入っています。 テーブル(T_受講料)で『12345』は『5000』と言うテーブルを作っています。(他、多数のデータがあります) そのテーブルは単独でリレーションを結んでいません。(構造上無理なため) どうやったら、フォームに新たに作ったテキストボックスに『5000』を入力できるのでしょうか? よろしくお願いします。

  • Accessでリンクしたテーブルのリレーションが設定できない

    PostgresへA5SQLとか言うツールを使ってテーブルを2つCreateTableしました。 テストデータも入力しました。 あらためてAccessでPostgresのテーブルをリンクテーブルとして参照しデータを見ることが出来ましたが、Access上でリレーションが未定義でサブフォームを作成することが出来ません。 リレーションを1:多で作成しようと思うのですが、設定フィールドが真っ白でいじれません。 何故でしょうか? 基本的にCreateTableするときに、なにやらリレーション設定する構文が必要だったのでしょうか? 今は、CreateTableしか構文は記述されていません。 どなたかご教授ください。 よろしくお願いします。

  • ACCESSのリンクについて

    ACCESS2000を使用しています。 エクセルのシートをACCESSのテーブルにリンクして使用していましが、リンク先のエクセルのファイルの場所を変更されたため、ACCESSでリンク先がないため、テーブルが開けなくなりました。 1、ACCESSのテーブルでリンク元のファイルを確認するにはどうすればよいのですか? 2、ACCESSでテーブルのリンク先を変更する場合はどうすればよいのですか?

専門家に質問してみよう