teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

修正

2020/08/11 05:00

投稿

EDM
EDM

スコア30

title CHANGED
File without changes
body CHANGED
@@ -6,11 +6,6 @@
6
6
 
7
7
  現状フォームで入力し、追加した時点ではシート上にに追加データが表示されなくて、わざわざ”シート更新”ボタンを押さないと追加データが見えないのです。
8
8
 
9
- テーブルとしては
10
- テーブル名 EDM
11
- カラムが
12
- DJNAME,SONGNAME,GENRE,LABEL,YEAR,NO です
13
-
14
9
  ”シート更新”については、SELECT文で取得、表示させているだけですので省きます。
15
10
  call db1については、NOのMAXを取得、max+1した数字をラベルに表示という内容なのでこれも省きます。
16
11
  ```VBA
@@ -75,6 +70,18 @@
75
70
  rs.CursorType = adOpenStatic
76
71
  rs.Open cmd
77
72
  MsgBox "データ追加しました"
73
+ rs.Open "select * from EDM Order by DJNAME,YEAR,SONGNAME", con
74
+ Columns("A").Hidden = True
75
+ With Worksheets(1)
76
+ Application.ScreenUpdating = False
77
+ .Cells.Clear
78
+ .Range("B1") = "カラム名"
79
+ .Range("C1") = "カラム名"
80
+ .Range("D1") = "カラム名"
81
+ .Range("E1") = "カラム名"
82
+ .Range("F1") = "カラム名"
83
+ .Range("B1:F1").HorizontalAlignment = xlCenter
84
+ .Range("A2").CopyFromRecordset rs
78
85
  End If
79
86
 
80
87
  GoTo FINAL
@@ -84,9 +91,6 @@
84
91
  MsgBox Erl() & "?s??F" & ERROR(Err())
85
92
 
86
93
  FINAL:
87
-   **rs.Open "select * from EDM Order by DJNAME,YEAR,SONGNAME", con**
88
-   この時に全データを取得して、表示させているから、本体であればシートが追加データも含め表示されるはず??
89
-
90
94
  UserForm2.Label2 = ""
91
95
  UserForm2.Text1.Text = ""
92
96
  UserForm2.Text2.Text = ""

3

変更

2020/08/11 05:00

投稿

EDM
EDM

スコア30

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,8 @@
1
1
  処理の流れとして、シート上にある”フォーム起動”ボタンをおしてフォーム起動、データを入力し、”データ追加”ボタンを押したとき、データベース(Oracle)にアクセスして、データを追加しています。
2
2
  また、別ボタンで”シート更新”というのがあり、押したときに、データベース(Oracle)にアクセスして、すべてのデータを取得、シート上に表示しています。
3
3
  この時にデータを入力して、”データ追加”ボタンを押したときに、追加に加えて自動的にシートも更新させ、追加したデータも含め表示させたいのですが、うまくいきません。
4
- データを追加し、Final処理でデータベースから切断する際、SELECTしたらすべてのデータを取得して表示させているので追加したデータを含め表示できると思ったのですが、全く表示されません。または、SQL文は動作していてもフォームがあるせいで、シートに反映されないか。しかし、vbModelessで、シトも動作できるようにしているのですが
4
+ データを追加し、Final処理でデータベースから切断する際、SELECTしたらすべてのデータを取得して表示させているので追加したデータを含め表示できると思ったのですが、”オブジェクトが開いている間は操作が許可されません。”とエラー。
5
+ final処理ではダメなのか
5
6
 
6
7
  現状フォームで入力し、追加した時点ではシート上にに追加データが表示されなくて、わざわざ”シート更新”ボタンを押さないと追加データが見えないのです。
7
8
 

2

改善

2020/08/11 04:38

投稿

EDM
EDM

スコア30

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  処理の流れとして、シート上にある”フォーム起動”ボタンをおしてフォーム起動、データを入力し、”データ追加”ボタンを押したとき、データベース(Oracle)にアクセスして、データを追加しています。
2
2
  また、別ボタンで”シート更新”というのがあり、押したときに、データベース(Oracle)にアクセスして、すべてのデータを取得、シート上に表示しています。
3
3
  この時にデータを入力して、”データ追加”ボタンを押したときに、追加に加えて自動的にシートも更新させ、追加したデータも含め表示させたいのですが、うまくいきません。
4
- データを追加し、Final処理でデータベースから切断する際、SELECTしたらすべてのデータを取得して表示させているので追加したデータを含め表示できると思ったのですが、全く表示されません。または、更新していてもフォームがあるせいで、シートが起動していないのか。しかし、vbModelessで、シートも動作できるようにしているのですが。
4
+ データを追加し、Final処理でデータベースから切断する際、SELECTしたらすべてのデータを取得して表示させているので追加したデータを含め表示できると思ったのですが、全く表示されません。または、SQL文は動作していてもフォームがあるせいで、シートに反映されないのか。しかし、vbModelessで、シートも動作できるようにしているのですが。
5
5
 
6
6
  現状フォームで入力し、追加した時点ではシート上にに追加データが表示されなくて、わざわざ”シート更新”ボタンを押さないと追加データが見えないのです。
7
7
 

1

改善

2020/08/11 04:34

投稿

EDM
EDM

スコア30

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,10 @@
1
1
  処理の流れとして、シート上にある”フォーム起動”ボタンをおしてフォーム起動、データを入力し、”データ追加”ボタンを押したとき、データベース(Oracle)にアクセスして、データを追加しています。
2
2
  また、別ボタンで”シート更新”というのがあり、押したときに、データベース(Oracle)にアクセスして、すべてのデータを取得、シート上に表示しています。
3
3
  この時にデータを入力して、”データ追加”ボタンを押したときに、追加に加えて自動的にシートも更新させ、追加したデータも含め表示させたいのですが、うまくいきません。
4
- データを追加し、Final処理でデータベースから切断する際、SELECTしたら更新るのでと思ったのですが、全く更新されません。(ちなみにこのSELECT処理がシート更新でも使われてい)
4
+ データを追加し、Final処理でデータベースから切断する際、SELECTしたらすべてのデータを取得して表示せているので追加したデータを含め表示できると思ったのですが、全く表示されません。または更新していてもフォームあるせいで、シートが起動していないのか。しかし、vbModeless、シート動作できるようにしているのでが。
5
- 現状フォームで入力し、追加した時点ではシート上にに追加データが表示されなくて、わざわざ”シート更新”ボタンを押さないと追加データが見えないです。
6
5
 
6
+ 現状フォームで入力し、追加した時点ではシート上にに追加データが表示されなくて、わざわざ”シート更新”ボタンを押さないと追加データが見えないのです。
7
+
7
8
  テーブルとしては
8
9
  テーブル名 EDM
9
10
  カラムが
@@ -82,7 +83,9 @@
82
83
  MsgBox Erl() & "?s??F" & ERROR(Err())
83
84
 
84
85
  FINAL:
85
-   rs.Open "select * from EDM Order by DJNAME,YEAR,SONGNAME", con
86
+   **rs.Open "select * from EDM Order by DJNAME,YEAR,SONGNAME", con**
87
+   この時に全データを取得して、表示させているから、本体であればシートが追加データも含め表示されるはず??
88
+
86
89
  UserForm2.Label2 = ""
87
90
  UserForm2.Text1.Text = ""
88
91
  UserForm2.Text2.Text = ""