CSVデータを追加・修正します

データ表を使ってCSVデータを追加・修正します。CSV型データはエクセルや売上、会計などのソフトでそのまま読み込めるので使えると便利です。

プロデルではデータ表という表形式のコンポーネントが用意されているのでそのままデータを追加したり修正することが出来るようになります。前回作成したプログラムの画面に保存するためのボタンを追加します。

前今回はメイン画面にボタンを追加してデータを追加して保存できるようにします。

-----ここから

データというデータ表を作る
データに{「名前」、「年齢」 、「住所」 、「メモ」}という列を加える
データへ「年齢表.CSV」から読み込む

メイン画面を表示する
待機する

メイン画面とは
  ウィンドウを継承する
  
  はじめの手順
    初期化する
    表部品1のデータ表をデータに変える
  終わり
  初期化する手順
ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
この実質大きさを{477,329}に変える
この内容を「表部品のテスト」に変える
このドラッグドロップを○に変える
初期化開始する
ボタン1というボタンを作る
その位置と大きさを{404,293,61,24}に変える
その内容を「ボタン1」に変える
その移動順を3に変える
表部品1という表部品を作る
表部品1を初期化開始する
その位置と大きさを{12,12,453,271}に変える
その移動順を2に変える
その位置固定方向を「右+左+下+上」に変える
表部品1を初期化終了する
初期化終了する
終わり

  開いた時の手順
    行一覧は、表部品1の行一覧
    番号を1から表部品1の行数まで増やしながら繰り返す
      もし行一覧(番号)の新しいなら、繰り返しを続ける
      行一覧(番号)の見出しは、番号
    繰り返し終わり
  終わり

ボタン1がクリックされた時の手順
データを「年齢表.CSV」へ保存する
終わり

終わり

-----ここまで

今回作成したサンプルを鵜退かしてみました。

CSVファイルを部品表に読み込む

プロデルの表部品の中にある表部品のサンプルプログラムに手を加えて CSVファイルの内容を読み込むように変えます。読み込むファイルは前回使用した 「年齢表.CSV」 です。

プロデルのサンプルにある表部品のサンプルをファイル読み込みに変更します。

---ここから

データというデータ表を作る
データに{「名前」、「年齢」 、「住所」 、「メモ」}という列を加える
データへ「年齢表.CSV」から読み込む

メイン画面を表示する
待機する

メイン画面とは
  ウィンドウを継承する
  
  はじめの手順
    初期化する
    表部品1のデータ表をデータに変える
  終わり
  初期化する手順
ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
この内部領域大きさを{442、258}に変える
この内容を「表部品のテスト」に変える
このドラッグドロップを○に変える
表部品1という表部品を作る
表部品1を初期化開始する
その位置と大きさを{12、12、418、234}に変える
その移動順を2に変える
その位置固定方向を「右+左+下+上」に変える
表部品1を初期化終了する
  終わり

  開いた時の手順
    行一覧は、表部品1の行一覧
    番号を1から表部品1の行数まで増やしながら繰り返す
      もし行一覧(番号)の新しいなら、繰り返しを続ける
      行一覧(番号)の見出しは、番号
    繰り返し終わり
  終わり
終わり

―--ここまで

実行するとこんな感じになります。

プロデルでCSVファイルを読み込みます。

プロデルでCSVファイルを読み込みます。

プロデルのサンプルにあるCSVファイルの読み混みを少しだけいじりました。

前提条件として「年齢表」という名前のCSVファイルを作ります。

プロデルのサンプルにある「data.csv」の名前を変えて作ったものです。住所を追加してみましたが内容はそのままでも構いません。

name,age,add,else
山田次郎,56 , ,
河野雄太,82 , ,
高橋裕香,52 , ,
佐藤美里,90 , ,

サンプルプログラム( 年齢表.CSV と同じフォルダに保存してください。)


---ここから

デ ータ表を作ってデータとする
データへ「年齢表.CSV」から読み込む
データの一覧のすべての【行要素】についてそれぞれ繰り返す
行要素を{名前,年齢,住所}とみなす
「お名前は、[名前]さんです。年齢は[年齢]歳です」を報告する
 繰り返し終わり

―--ここまで

行要素の3つに {名前,年齢,住所} という変数名を付けます。

実行するとこのような結果が得られます。

プロデル入門02・その2

今回は、その1で用いたサンプルプログラム「プロデルでSQLite.rdr」について触れながら次のステップに進む。

プロデルデザイナで表示された内容を見ると

基本的な内容が19行目(SQLiteから切断する)

で終わっていることが想像できると思う。それ以降に記述してあるものは、各オブジェクト(パーツごとに分けたプログラム)で19行目までのプログラムによって呼び出されている。

最初の処理

4行目から8行目までがデータベースを使うために設定するとなる

4 「Produire.Data.SQLite.dll」を利用する
5 SQLiteというSQLiteデータベースを作る

7 SQLiteのデータソースを、「database.db」に変える
8 SQLiteへ接続する

4行目はSQLiteを使うために必要なDLL(ダイナミック・リンク・ライブラリ)で必ず入れなければならない。この記述をすることでプログラムに必要なツールを内部で呼び出すようになる。

5行目は「SQLiteデータベースを作る」と書いてありますが、SQLiteを使用するために必要なので4行目とペアで利用すると覚えておいてください。

7行目で使用するデータベースを指定しています。青文字の名前を利用するデータベースの名前に設定します。

8行目でデータベースに接続することで利用できるようになりました。

その1ではこの下に画面を表示するオブジェクトを追加しました。今回は追加した部分は無視します。(今見ているプログラムはサンプルそのものです。)

————
メイン画面を表示する
待機する
————

今回のサンプルプログラムを動かすまでデータベースファイル(以下、DB)は存在していませんから10行目で中で使用するテーブルを作成します。

10 テーブルを作成する  ・・・ オブジェクトを呼び出します。

10行目で「テーブルを作成する」オブジェクトを呼び出します。

23行目から29行目にかかれているプログラムが実行されます。

23 テーブルを、作成する手順
24 ーーテーブルの作成
25 SQLiteで「CREATE TABLE 楽曲 (
26 曲名 TEXT,
27 アーティスト TEXT,
28 アルバムID NUMBER);」を実行する
29 終わり

テーブルを作成する命令の詳細についてはSQLの説明になるので割愛します。

11
12 データを取得する
13 データを追加する
14 データを更新する
15 データを削除する

この部分は、それぞれ目的としたオブジェクトを呼び出すものです。

ここから「その1」で作成したプログラムに戻ります。

ここでは「その1」で作成した「入力画面」と13行目「データを追加する」に限定して書きます。

先ほど無視した9行目に追加した

————
メイン画面を表示する
待機する
————

により、10行目以降のプログラムは「待機」状態になる為、画面からボタンを押すなどしない限りプログラムは画面を表示したまま待機するようになっています。

画面に入れたものをデータベースに登録する為に「登録する」ボタンを押した時の処理を追加します。

前回、作成途中のボタンをクリックしたのでプログラムの下の方に

「ボタン1がクリックされた時の手順」が追加されています。前回、コメントに「登録ボタンが押された処理」と追記しました。

この中に書いていきます。

画面上のテキスト項目は3つあります。プログラムの「メイン画面」の部分を見ると「テキスト1・2・3」と名前が付いていることが分かります。

画面があるという事は入力した文字がPC内に書き込まれた訳ですから、それを取り出してDBに渡す必要があります。

画面の項目をDBテーブルに渡します。テーブルで使用している項目は「曲名,アーティスト,アルバムID」なので、今回はそのまま使用します。

画面のテキストの内容をDBテーブルの項目に割り当てます。

曲名=テキスト1の内容

アーティスト=テキスト2の内容

アルバムID=テキスト3の内容

と書けば、内容をセットすることが出来ます。

セット出来たらDBに書き込みます。

サンプルプログラムの書き込む箇所は次のようになっています。

ーーデータの追加
SQL文は、「INSERT INTO 楽曲 (曲名,アーティスト) VALUES (?, ?)」
バインド値は、{「I am your singer」、「サザンオールスターズ」}
SQL文をバインド値としてSQLiteで実行して、件数1とする

これを参考に変更していきます。

バインド値の中に書き込む内容をセットすれば良いので、テキスト項目からセットした変数をここにセットします。

「曲名・アーティスト・アルバムID」の3項目の内容をセットするには、変数名を[]で囲みます。

ーーデータの追加
SQL文は、「INSERT INTO 楽曲 (曲名,アーティス,アルバムID) VALUES (?, ?, ?)

バインド値は、{[曲名]、[アーティスト]、[アルバムID]}

ここで赤字で書いた違いに注意してください。

この作業を「ボタン1がクリックされた時の手順」に記入して余計な部分を削除します。

————-このような感じになります。

ボタン1がクリックされた時の手順
//登録ボタンが押された処理
ーーデータの追加
SQL文は、「INSERT INTO 楽曲 (曲名,アーティス,アルバムID) VALUES (?, ?, ?)

バインド値は、{[曲名]、[アーティスト]、[アルバムID]}
SQL文をバインド値としてSQLiteで実行しする

ーー内容の確認
SQLiteから「SELECT 曲名,アーティスト FROM 楽曲」を取得して、結果とする
「追加後」として「[件数1]件、追加しました。[改行][結果の内容]」を情報アイコンで表示する
終わり

————-このような感じになります。

次に続きます。

プロデル入門02・その1

画面の作り方とボタンの作り方をやったので、SQLiteを使って入力したデータを保存と呼び出しをすることにする。いままでもSQLについては書いているので、ここでは画面に入力したデータをSQLに書き込んでみる。

最初に、今回はSQLを使用するので、サンプルプログランからPC単体で動くSQliteのサンプルを呼び出します。

サンプルの位置は下記の場所を参考にしてください。

C:\Program Files (x86)\Produire\サンプル\データ操作\データベース

利用するサンプルは「プロデルでSQLite.rdr」です。

このサンプルプログラムには画面がありません。そこで、先ほど作成した画面を追加して分かりやすいものにしたいと思います。

その前に、呼び出したサンプルプログラムを別の名前で保存してください

尚、サンプルでは決まったデータの書き込みをしていますが。画面を付ける事により、自由なデータを入力して検索できるようになります。

前回までに作成した画面と同じようなものを作って行きます。

このような感じで作成してください。作成したボタンをクリックし。分かるようにコメントを書き入れます。(コメントの開始は // です。)

サンプルプログラムを読んで項目名を一致するように変更します。

サンプルプログラムの中にテーブルを作詞する手順が書いてあるので、その内容に従って画面の項目(ラベル)を設定します。

曲名 TEXT,
アーティスト TEXT,
アルバムID NUMBER

画面の作成が終わったら。作成された画面プログラムが動作するように画面を呼び出す命令の位置を変更します。

画面プログラムは「メイン画面とは」と書かれている部分の数行上に

—————–

メイン画面を表示する
待機する

—————–

と記載されているので。その部分をすべて9行目にカット&ペーストで移動してください。この2行の命令を9行目に映す事で、画面を表示して待機する事で画面に処理の主導権を渡すようになります。(ボタンを押さないと動かない状態にする)

次回に続きます。

郵便データを他のテーブルで利用する・その2

今回作成するプログラムは、郵便番号を検索して見つけた住所をコピーして画面に入力するサンプルプログラムです。下記の動画を参考にしてください。

郵便番号のプログラムと、ユーザー登録のプログラムで共通するのは郵便番号と住所なので、その部分から改造しはじめようかと考えている。

ユーザーテーブルの項目。

1.ユーザーID(id) 主キー設定
2.ユーザー名(name)
3.郵便番号(zip)
4.住所1(add1)
5.住所2(add2)
6.メールアドレス(mail)

郵便番号テーブルの項目。

1.zip1 =郵便番号
2.ken =都道府県名
3.city =市区町村名
4.machi =町域名

郵便番号検索で使用したプログラムをコピーして変更する。

 

検索に使用したテキスト項目に入れた住所から検索できるようにしたい。郵便番号検索では「市町村」と「町域」の二つで検索を行っていたが、住所登録する場合は1か所で間に合わせたい。
SQLの記述を簡素にしていく方法から修正していく。

—————————— ここから
//
// 郵便番号SQLで検索・画面
//
// プロデルからSQLiteデータベースを操作する例 //
//SQLiteを利用するには、System.Data.SQLite.dllが必要です

/*  登録したテーブルの中身を確認するサンプルプログラムなので↓に書いておきます。
SQLiteで「CREATE TABLE yubin (
ycode1 TEXT,
ken TEXT,
city TEXT,
machi TEXT);」を実行する
*/

「Produire.Data.Base.dll」を利用する
「Produire.Data.SQLite.dll」を利用する
「Produire.Data.Grid.dll」を利用する

SQLiteというSQLiteデータベースを作る
SQLiteのデータソースを、「test01.db」に変える
ws01=「」 // 検索文字列1
ws02=「」 // 検索文字列2

メイン画面を表示する

待機する

メイン画面とは
ウィンドウを継承する
はじめの手順
初期化する
ーー貼り付けた部品に対する操作をここに書きます
//郵便表部品1のデータ表をデータに変える
終わり
初期化する手順
ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
この内部領域大きさを{658,576}に変える
この内容を「郵便番号検索」に変える
ラベル1というラベルを作る
その位置と大きさを{17,83,53,12}に変える
その内容を「郵便番号」に変える
その移動順を10に変える
テキスト0というテキストを作る
その位置と大きさを{76,83,60,19}に変える
その移動順を9に変える
郵便ラベル3というラベルを作る
その位置と大きさを{290,332,324,12}に変える
その内容を「左のテキストボックスに検索したい市町村名の一部を入力してください」に変える
その移動順を7に変える
郵便テキスト1というテキストを作る
その位置と大きさを{76,329,126,19}に変える
その移動順を5に変える
郵便ラベル1というラベルを作る
その位置と大きさを{17,329,53,12}に変える
その内容を「市町村名」に変える
その移動順を3に変える
郵便表部品1という表部品を作る
郵便表部品1を初期化開始する
その位置と大きさを{17,360,600,204}に変える
その列見出し高さを18に変える
その移動順を2に変える
郵便表部品1を初期化終了する
ボタン1というボタンを作る
その位置と大きさを{218,327,66,23}に変える
その内容を「住所検索」に変える
その移動順を1に変える
ラベル2というラベルを作る
その位置と大きさを{17,117,35,12}に変える
その内容を「住所1」に変える
その移動順を11に変える
テキスト1というテキストを作る
その位置と大きさを{76,114,384,19}に変える
その移動順を12に変える
テキスト2というテキストを作る
その位置と大きさを{76,150,384,19}に変える
その移動順を13に変える
ラベル3というラベルを作る
その位置と大きさを{17,157,35,12}に変える
その内容を「住所2」に変える
その移動順を14に変える
終わり

//検索するボタンが押された時の手順
ボタン1がクリックされた時の手順
ws01=郵便テキスト1の内容 //入力した内容を検索する変数にコピーします

データを、取得する
終わり

データを、取得する時の手順
ーーデータの取得
SQLiteへ接続する         // データベースを占有しないようにここで接続する
// 郵便番号テーブルからword_searchをAND条件で検索します。
例外監視
SQLiteから「SELECT * FROM zip where ken like “%[ws01]%” or city like “%[ws01]%” or machi like “%[ws01]%”;」をデータ表として取得してデータとする
発生した場合
監視終わり
SQLiteから切断する      // データベースを占有しないようにここで切断する

データの名前は、「郵便番号」
郵便表部品1のデータ表をデータに変える
列一覧は、郵便表部品1の列一覧     //表部品の列名を変える為に取得する
列一覧(1)の見出しは、「郵便番号」
列一覧(1)の幅は、60
列一覧(2)の見出しは、「都道府県」
列一覧(2)の幅は、70
列一覧(3)の見出しは、「市町村」
列一覧(3)の幅は、120
列一覧(4)の見出しは、「町域」
列一覧(4)の幅は、290
終わり

郵便表部品1のセルがクリックされた時の手順

テキスト0の内容は、郵便表部品1の選択セルの内容
ws01=テキスト0の内容

ーークリックされた郵便番号を元に住所を検索します。zip1= “[ws01]が検索キーワードとなります。

ーーデータの取得
SQLiteへ接続する         // データベースを占有しないようにここで接続する
例外監視
// 郵便番号テーブルからword_searchをAND条件で検索します。
SQLiteから「SELECT ken,city,machi FROM zip where zip1= “[ws01]” ;」を取得して結果とする
発生した場合
監視終わり
SQLiteから切断する      // データベースを占有しないようにここで切断する

ーー得られた結果の内容を繋げてテキスト1に表示します。

//住所A=結果の内容
住所A=結果(1,1)&結果(1,2)&結果(1,3)

//住所を表示
テキスト1の内容を住所Aに変える

終わり
終わり
—————————— ここまで

プロデルで作成した郵便番号検索の動画

先日プロデルで作成した郵便番号のプログラムを動かしている状況を動画にしてみた。

サンプルで作成した郵便番号検索の動画。日本全国のデータが入っています。

郵便データを他のテーブルで利用する・その1

プロデルで作成したテータベースに郵便番号データが登録出来たら。検索することで住所入力が簡単に出来るようになる。例えば、ユーザー登録が必要なプログラムを書く時にツールとして組み込めば便利に使うことが出来る。今回はユーザー登録機能を追加する事にする。前回までに作成したプログラムを実行するとこんな感じになる。(町域に「顔」を入力し検索した結果)
郵便番号を町域に「顔」を入力し検索した
この画面の右端にある項目は選択した郵便番号を表示するようにしている。
選択した郵便番号

この画面に機能を追加して住所を登録するプログラムを作ろうかと思う。

今回作成するもの

1.郵便番号検索にユーザー登録を追加する
2.ユーザー登録するテーブルを新しく設定する・
3.ユーザー登録にはIDを設定し重複を防ぐ
4.郵便番号を入力したら住所を自動的に入力させる。
5.郵便番号が分からない場合、住所の一部から郵便番号と住所を入力。
6.テーブルにユーザー登録する。

単純に考えればこんな感じ。もしろん登録したデータを検索したり修正できることも大事だけれど数回に分けて徐々に書くことにする。

ユーザーテーブル(user)の必要な項目を考える。

1.ユーザーID(id) 主キー設定
2.ユーザー名(name)
3.郵便番号(zip)
4.住所1(add1)
5.住所2(add2)
6.メールアドレス(mail)

サンプルなのでこの程度。

このテーブルでは主キーを設定します。作成するときに「項目名 integer primary key」と指定する事でID(項目名)には自動的にキーが付けられるようになります。「integer」は数値項目なので数字が入ります。

このテーブルを作成するプログラムはこちら

—————————— ここから

// プロデルからSQLiteデータベースを操作する例 //
// SQLiteのuserテーブルの作成
//SQLiteを利用するには、System.Data.SQLite.dllが必要です

「Produire.Data.SQLite.dll」を利用する
SQLiteというSQLiteデータベースを作る

SQLiteのデータソースを、「test01.db」に変える
SQLiteへ接続する

テーブルを作成する

SQLiteから切断する

テーブルを、作成する手順
     ーーテーブルの作成
     SQLiteで「CREATE TABLE user (
          id integer primary key,
          name TEXT,
          zip TEXT,
          add1 TEXT,
          add2 TEXT,
          mail TEXT);」を実行する               
終わり

—————————— ここまで

日本全国の郵便番号をSQLiteにする。(番外編)

日本全国の郵便番号をSQLのデータベーステーブルにすると思いのほか時間が掛かります。
私の低スペックパソコンでは数時間かかりました。
(時間が掛かるのは私が作ったプロデルのプログラムロジックに問題がある事が原因。通常なら数分で終わる筈なのです。バインド値を使えば通常は高速に処理できるのですがどこかが間違っているみたいです。)
使用するデータは日本郵便から提供されている日本全国の郵便番号データ「KEN_ALL.CSV」となります。
日本全国が必要な人はあまりいないと思うので、必要な都道府県のデータを選んでデータベース化してください。
前回のサンプルとは項目名やテーブル名が少し変わっていますが基本的には同じものです。
テーブル名を変えた関係で検索プログラムのテーブル名も変更してから利用してください。

—————————— ここから

//
// 全国郵便番号SQL作成
// 120万件のデータを処理する為、
// 実行から終了するまで数時間かかります。
//
// 画面の入出力は余計な時間が掛かる為ありません
//
// プロデルからSQLiteデータベースを操作する例 //
//SQLiteを利用するには、System.Data.SQLite.dllが必要です
「Produire.Data.SQLite.dll」を利用する

SQLiteというSQLiteデータベースを作る
SQLiteのデータソースを、「test01.db」に変える
SQLiteへ接続する
/*
     1.全国地方公共団体コード
     2.(旧)郵便番号(5桁)
     3.郵便番号(7桁)
     4.都道府県名(半角カタカナ)
     5.市区町村名(半角カタカナ)
     6.町域名(半角カタカナ)
     7.都道府県名 (漢字)
     8.市区町村名 (漢字)
     9.町域名 (漢字)
     
     ——————————
     今回使用する項目
     ——————————
     3.郵便番号(7桁)(数字だけど文字列)
     7.都道府県名 (漢字)
     8.市区町村名 (漢字)
     9.町域名 (漢字)
 
*/

//CSVファイルをデータ表に読み込み保存されているデータを取得。
データ表を作ってデータとする
データへ「KEN_ALL.CSV」から読み込む // 全国の郵便番号データ
一覧は、データの一覧
カウント=0
テーブルを、作成する // テーブルを作成します

データの一覧のすべての【行要素】についてそれぞれ繰り返す
     //行要素を表示 //各行ごとのデータは行要素です
     カウント=カウント+1  //行要素で良いはずなのですが不安なのでカウントを作ります。
     レコードは、一覧(カウント)  //一覧にCSVデータを読み込みます
     //レコードを報告する
     郵便番号は、レコード(3)// 郵便番号7ケタ 郵便番号は後で2つに分ける
     都道府県は、レコード(7)//都道府県・漢字
     市町村は、レコード(8)//市町村・漢字
     町名は、レコード(9)//町名・漢字

     //SQLiteにデータを書き込みます
     データを、追加する

繰り返し終わり

//最後に作成したデータをSQLiteで読み込んで表示します
データを、取得する

テーブルを、作成する手順
//テーブルを、破棄する手順
   ーーテーブルの破棄
   //SQLiteで「DROP TABLE zip;」を実行する
   
     ーーテーブルの作成 テーブル名 zip
     //1.zip1 =郵便番号
     //2.ken =都道府県名
     //3.city =市区町村名
     //4.machi =町域名
     SQLiteで「CREATE TABLE zip (
          zip1 TEXT,
          ken TEXT,
          city TEXT,
          machi TEXT);」を実行する
終わり

データを、取得する手順
     ーーデータの取得
/*
     SQLiteから「SELECT * FROM zip」を取得して結果とする
     「初期状態」として結果の内容を情報アイコンで表示する
*/
     「終わりました」と表示する。
終わり

データを、追加する手順
     ーーデータの追加

     SQL文は、「INSERT INTO zip (zip1,ken,city,machi) VALUES(?,?,?,?);」
     バインド値は、{郵便番号,都道府県,市町村,町名}
     //バインド値を報告する
     SQL文をバインド値としてSQLiteで実行する

終わり

—————————— ここまで

郵便番号データベースを検索する・その2

プロデルでデータベースを作成しても自由に使えなければ意味がないので「郵便番号データベースを検索する・その1」で取りあえず検索するサンプルプログラムを書いた。プログラムの中に検索する文字列を固定で埋め込む方法なので実際使うとしたら使い勝手が悪い。そこでSQLの特徴である検索機能をきちんと使ったものを作ることにした。
郵便番号を探す時の目安は住所です。その中で都道府県は範囲が広すぎるので、「市町村名」または「町域」の部分検索ができれば使い勝手が格段に向上する。
そこで今回はSQLらしさを少し考慮してプログラムを作ってみた。
今回使用する画面

—————————— ここから
//
// 郵便番号SQLで検索・画面
//
// プロデルからSQLiteデータベースを操作する例 //
//SQLiteを利用するには、System.Data.SQLite.dllが必要です

/*  登録したテーブルの中身を確認するサンプルプログラムなので↓に書いておきます。
     SQLiteで「CREATE TABLE yubin (
          ycode1 TEXT,
          ken TEXT,
          city TEXT,
          machi TEXT);」を実行する
*/     

「Produire.Data.Base.dll」を利用する
「Produire.Data.SQLite.dll」を利用する
「Produire.Data.Grid.dll」を利用する

SQLiteというSQLiteデータベースを作る
SQLiteのデータソースを、「test01.db」に変える
ws01=「」 // 検索文字列1
ws02=「」 // 検索文字列2

メイン画面を表示する

待機する
  
メイン画面とは
     ウィンドウを継承する
     はじめの手順
          初期化する
          ーー貼り付けた部品に対する操作をここに書きます
          //表部品1のデータ表をデータに変える
     終わり
  初期化する手順
     ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
     この内部領域大きさを{658,322}に変える
     この内容を「郵便番号検索」に変える
     ラベル3というラベルを作る
          その位置と大きさを{293,24,324,12}に変える
          その内容を「左のテキストボックスに検索したい市町村名の一部を入力してください」に変える
          その移動順を7に変える
          そのドラッグドロップを×に変える
     テキスト1というテキストを作る
          その位置と大きさを{92,24,126,19}に変える
          その移動順を5に変える
          そのドラッグドロップを×に変える
     ラベル1というラベルを作る
          その位置と大きさを{33,27,53,12}に変える
          その内容を「市町村名」に変える
          その移動順を3に変える
          そのドラッグドロップを×に変える
     表部品1という表部品を作る
     表部品1を初期化開始する
          その位置と大きさを{33,95,600,204}に変える
          その列見出し高さを18に変える
          その移動順を2に変える
          そのドラッグドロップを×に変える
     表部品1を初期化終了する
     ボタン1というボタンを作る
          その位置と大きさを{293,43,110,33}に変える
          その内容を「検索を開始する」に変える
          その移動順を1に変える
          そのドラッグドロップを×に変える
     ラベル2というラベルを作る
          その位置と大きさを{33,57,29,12}に変える
          その内容を「町名」に変える
          その移動順を4に変える
          そのドラッグドロップを×に変える
     テキスト2というテキストを作る
          その位置と大きさを{92,57,126,19}に変える
          その移動順を6に変える
          そのドラッグドロップを×に変える
終わり

//検索するボタンが押された時の手順
ボタン1がクリックされた時の手順
ws01=テキスト1の内容 //入力した内容を検索する変数にコピーします
ws02=テキスト2の内容

データを、取得する

     終わり

データを、取得する時の手順
          ーーデータの取得
    // データベースを占有しないようにここで接続する
    SQLiteへ接続する         

    // 郵便番号テーブルからword_searchをAND条件で検索します。
      SQLiteから「SELECT * FROM ubin2 where city like “%[ws01]%” AND machi like “%[ws02]%”;」をデータ表として取得してデータとする
     // データベースを占有しないようにここで切断する
     SQLiteから切断する          
     
     データの名前は、「郵便番号」
     表部品1のデータ表をデータに変える

     //表部品の列名を変える為に取得する
     列一覧は、表部品1の列一覧
    列一覧(1)の見出しは、「郵便番号」
    列一覧(1)の幅は、60
    列一覧(2)の見出しは、「都道府県」
    列一覧(2)の幅は、70
    列一覧(3)の見出しは、「市町村」
    列一覧(3)の幅は、120
    列一覧(4)の見出しは、「町域」
    列一覧(4)の幅は、290
  終わり
終わり

—————————— ここまで
ありそうな住所の一部を入力すれば検索できるようになりました。

 
検索結果