Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1701 / 2272 ツリー ←次へ | 前へ→

【5619】封筒の宛名に連続番号打ち出しがしたいです mako 05/7/15(金) 13:44 質問[未読]
【5620】Re:封筒の宛名に連続番号打ち出しがしたい... ゆうこたん 05/7/15(金) 15:18 回答[未読]
【5653】Re:封筒の宛名に連続番号打ち出しがしたい... mako 05/7/20(水) 15:49 質問[未読]
【5690】Re:封筒の宛名に連続番号打ち出しがしたい... mako 05/7/26(火) 11:53 質問[未読]
【5691】Re:封筒の宛名に連続番号打ち出しがしたい... 小僧 05/7/26(火) 13:20 回答[未読]
【5692】Re:封筒の宛名に連続番号打ち出しがしたい... mako 05/7/26(火) 14:56 お礼[未読]

【5619】封筒の宛名に連続番号打ち出しがしたいです
質問  mako  - 05/7/15(金) 13:44 -

引用なし
パスワード
   こんにちは。いつもありがとうございます。
毎度ながらですが、初歩的すぎる質問をお許し下さい。
今回は、下記のようなことがaccessで出来るのかどうかが
どうしてもわからず、最初のデータベースの設計(?)が
できないでいます。

私の会社で製作している製品には
各1台ごとに検査合格証を添付しなければなりません。
製品には1台づつに“000001”から順番に個別の製造番号が
振り分けられており、その番号を記した長形3号の封筒に入れて
検査合格証を添付して出荷します。

1.封筒の宛名には、
 1行目:製品の名前(20機種の中から検索しようと思っています)
 2行目:製造番号(1台1番号(連続番号)です)
 3行目:“合格証在中”(全製品この言葉なのでラベルにしようと思っています)
 の3行を印刷したいです。

2.手順としては
 1)製品の名前を検索して、表示します。
 2)その日出荷分の先頭の製造番号を入力し、○○枚と指定します。
 そうしたら、自動で製造番号を順番に繰り上げていき、
 必要枚数分を勝手に印刷できるようにしたいです。

accessで封筒の宛名印刷ができるのかどうか、
印刷段階で自動で数字を繰り上げてくれるのかどうかがわかりません。
図々しいお願いですが、もしできるとしたらその方法も
教えていただきたいと思っています。

どうかよろしくお願いいたします。

【5620】Re:封筒の宛名に連続番号打ち出しがしたい...
回答  ゆうこたん  - 05/7/15(金) 15:18 -

引用なし
パスワード
   >accessで封筒の宛名印刷ができるのかどうか、

プリンタが対応していればできます。
私はインクジェットプリンタで宛名印刷したことがあります。

>印刷段階で自動で数字を繰り上げてくれるのかどうかがわかりません。

ワークテーブル(一時的にデータを入れておくためのテーブル)を
作りましょう。
フォームで枚数を入れてOKボタンを押したら、ワークテーブルにデータが
あってもなくても削除するようにしましょう。
削除した後、ワークテーブルに指定した件数のデータが入るようにしましょう。
(20枚としたら製品の名前が20回入るというのがいいかもしれません)

そのワークテーブルを元にしたレポートを作ります。
テキストボックスをつくり、プロパティを開きます。
[データ]タブの[コントロールソース]に「=1」と入れます。
同じタブの下のほうにある[集計実行]を「全体」にします。
[書式]タブの[書式]に「000000000」と入れます。

このようにすると連番が表示されますよ〜。

頑張ってくださいねー。

【5653】Re:封筒の宛名に連続番号打ち出しがしたい...
質問  mako  - 05/7/20(水) 15:49 -

引用なし
パスワード
   ゆうこたんさん、お返事ありがとうございました。

でも、実は私のあまりのレベルの低さに、金曜日から今日まで
考えたり教えていただいた事を調べたりていたのですが
ほとんどがわかりませんでした。本当にすみません。
1日考えても1歩くらいしか進まないので、教えていただいた内容について
ルール違反かもしれませんがもっと質問させて下さい。すみません。

>そのワークテーブルを元にしたレポートを作ります。
>テキストボックスをつくり、プロパティを開きます。
>[データ]タブの[コントロールソース]に「=1」と入れます。
>同じタブの下のほうにある[集計実行]を「全体」にします。
>[書式]タブの[書式]に「000000000」と入れます
後先になりますが、この部分は手入力で作ったテーブルを使って
試したらできました。
。。。教えていただいたことを丸写ししただけなのですが。。。

>ワークテーブル(一時的にデータを入れておくためのテーブル)を
>作りましょう。
ここからの6行をまず理解するのに1日かかってしまったんです。
ワークテーブルっていうテーブルがあるのかと思ったのですが、
普通のテーブルをワーク用に使うってことなのかなと理解しました。
ゆうこたんさんの目玉が飛び出ているのが想像できます。。。

>フォームで枚数を入れてOKボタンを押したら、ワークテーブルにデータが
>あってもなくても削除するようにしましょう。
これは、テキストボックスでOKボタンを作って、そのテキストボックスの
更新後処理のイベントプロシージャに何か文を考えて入れておかないと
いけないってことだと考えたのですが。。。。その文がわからなかったです。

>削除した後、ワークテーブルに指定した件数のデータが入るようにしましょう。
>(20枚としたら製品の名前が20回入るというのがいいかもしれません)
これも、何か文を書くのだと理解したのですが。。。
その文もわかりませんでした。

それから、枚数を指定した時に製造番号の始まりの番号を
指定したいのですが、それはできますか?

せっかく自分でがんばれるようにとアドバイスをいただいたのに
本当に申し訳なく思っています。
どうか、よろしくお願いいたします。

【5690】Re:封筒の宛名に連続番号打ち出しがしたい...
質問  mako  - 05/7/26(火) 11:53 -

引用なし
パスワード
   みなさま、こんにちは。
いつも教えていただいてありがとうございます。
是非みなさまに教えていただきたく、もう一度整理して
(コピーもありますが)質問させていただきたいと思います。
質問内容がわかりづらいところは、お手数をおかけいたしますが
どうかご指摘いただきますようお願いいたします。
どうかよろしくお願いします。


私の会社で製作している製品には
各1台ごとに検査合格証を添付しなければなりません。
製品には1台づつに“000001”から順番に個別の製造番号が
振り分けられており、その番号を記した長形3号の封筒に入れて
検査合格証を添付して出荷します。

1.封筒の宛名(ほぼ中央)には、横書きで
 1行目:製品の名前(20機種の中から検索しようと思っています)
 2行目:製造番号(1台1番号(連続番号)です)
 3行目:“合格証在中”(全製品この言葉なのでラベルにしようと思っています)
 の3行を印刷したいです。

2.手順としては
 1)製品の名前を検索して、表示します。
 2)その日出荷分の先頭の製造番号(毎回異なる数字)を入力し、
 ○○枚(毎回10〜20枚)と指定します。
 そうしたら、入力した製造番号から順番に、自動で製造番号を
 繰り上げていき、必要枚数分を勝手に印刷できるようにしたいです。


>>ワークテーブル(一時的にデータを入れておくためのテーブル)を
>>作りましょう。
>>フォームで枚数を入れてOKボタンを押したら、ワークテーブルにデータが
>>あってもなくても削除するようにしましょう。
>>削除した後、ワークテーブルに指定した件数のデータが入るようにしましょう。
>>(20枚としたら製品の名前が20回入るというのがいいかもしれません)
ここは、意味はなんとなく自分なりに理解できたと思っているのですが
具体的にどうすればいいのかが、わかりません。

>>そのワークテーブルを元にしたレポートを作ります。
>>テキストボックスをつくり、プロパティを開きます。
>>[データ]タブの[コントロールソース]に「=1」と入れます。
>>同じタブの下のほうにある[集計実行]を「全体」にします。
>>[書式]タブの[書式]に「000000000」と入れます
ここは、手入力したテーブルで試したところうまくできました。
ただ、製造番号の始まりが000000001からになってしまうので
指定した6桁の数字から始まるようにしたいです。

貴重なお時間をさいていただき、ご迷惑をおかけしていますが
どうかよろしくお願いいたします。

【5691】Re:封筒の宛名に連続番号打ち出しがしたい...
回答  小僧  - 05/7/26(火) 13:20 -

引用なし
パスワード
   ▼mako さん:
こんにちは。

テーブル:T_Work
        製品名(テキスト型)
        製造番号(テキスト型)


フォーム:(適当な名前を)
      製品名コンボ(コンボボックス:製品名を選べる様に)
      枚数テキスト(テキストボックス)
      先頭番号テキスト(テキストボックス)
      実行ボタン(コマンドボタン)

を用意して頂いて、

実行ボタンの[クリック時]の右にある[...]をクリック → [コードビルダ]より

Private Sub 実行ボタン_Click()
Dim SQLCode As String
Dim Seizo As String
Dim I As Long
  SQLCode = "DELETE FROM T_Work"
  DoCmd.RunSQL SQLCode
  
  For I = 1 To Me.枚数テキスト.Value
    Seizo = Format(Me.先頭番号テキスト.Value + I - 1, "000000")
    SQLCode = "INSERT INTO T_Work (製品名, 製造番号) " _
        & "VALUES ('" & Me.製品名コンボ.Value & "', '" & Seizo & "')"
    DoCmd.RunSQL SQLCode
  Next
End Sub

上記コードを記述して頂くと、「T_Work」に連番が入るかと思われます。

実際にはテキストボックスの中身が空白や数字以外だった時のチェック等を
入れないとエラーが多々発生してしまいます。

【5692】Re:封筒の宛名に連続番号打ち出しがしたい...
お礼  mako  - 05/7/26(火) 14:56 -

引用なし
パスワード
   小僧さまへ

お答えいただいてありがとうございました!!!
できました!!!
エラー(ヘルプの猫ちゃんが指定枚数分鳴きます^^)の処理は、
前にした事があるので、それを参考にしてみます。

本当に本当にありがとうございました。
勇気を出して再質問してよかったです。
本当にありがとうございました。

1701 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078256
(SS)C-BOARD v3.8 is Free