麻煩請各位大老,幫我看一下程式碼,那裡出錯誤,謝謝~~~因為我列印出來ㄉ時候,我預設三大表格,可是有兩大表格都無法正常列印出資料,麻煩請幫幫我(急)
Private Sub Command30_Click()
MsgBox ("請將印表機設定為 A4 橫印")
Dim TTYPE As String
Dim A28(20000) As String * 12 '類別編號
Dim A2(20000) As String * 30 '公司名稱
Dim A7(20000) As String * 20 '公司電話1
Dim A8(20000) As String * 20 '公司電話2
Dim A9(20000) As String * 20 '傳真
Dim A15(20000) As String * 100 '地址
Dim A5(20000) As String * 30 '聯絡人
Dim A6(20000) As String * 30 '職稱
Dim A13(20000) As String * 20 '家裏電話
Dim A10(20000) As String * 20 '大哥大
Dim A17(20000) As String * 20 '工地電話
Dim A16(20000) As String * 40 '備註
Dim KL(20000) As Double
Dim K(20000) As Double
Data1.Refresh
Data1.Recordset.MoveFirst

I = 0
COUNT1 = 0

Data1.Refresh
Data1.Recordset.MoveFirst
  I = 0
  COUNT1 = 0

TTYPE = InputBox("請輸入列類別,例大陸", , "大陸")
While Not Data1.Recordset.EOF
   If Trim(Text28.Text) = Trim(TTYPE) Then '類別編號
   
     I = I + 1
     A2(I) = Left$(Text2.Text, 30) '廠商名稱
     A7(I) = Left$(Trim(Text7.Text), 20) '公司電話1
     A8(I) = Left$(Trim(Text8.Text), 20) '公司電話2
     A9(I) = Left$(Trim(Text9.Text), 20) '傳真
     A15(I) = Left$(Trim(Text15.Text), 100) '地址
   
     A5(I) = Left$(Trim(Text5.Text), 10) '聯絡人
     A6(I) = Left$(Trim(Text6.Text), 10) '職稱
    
     A10(I) = Left$(Trim(Text10.Text), 20) '工地電話
     A16(I) = Left$(Trim(Text16.Text), 40) '備註
     A13(I) = Left$(Trim(Text13.Text), 40) '家裏電話
   End If
   Data1.Recordset.MoveNext
  Wend
 
 COUNT1 = I

For I = 1 To COUNT1
K(I) = Asc(Left$(A2(I), 1))
Next I
Print COUNT1
For I = 1 To COUNT1
For J = 1 To COUNT1 - 1
     
    If K(J) > K(J + 1) Then
     TEMPK = K(J)
     TEMPA28 = A28(J)
     TEMPA2 = A2(J)
     TEMPA7 = A7(J)
     TEMPA8 = A8(J)
     TEMPA5 = A5(J)
     TEMPA6 = A6(J)
     TEMPA10 = A10(J)
     
         
     K(J) = K(J + 1)
     A28(J) = A28(J + 1)
     A2(J) = A2(J + 1)
     A7(J) = A7(J + 1)
     A8(J) = A8(J + 1)
     A5(J) = A5(J + 1)
     A6(J) = A6(J + 1)
     A10(J) = A10(J + 1)
                    
     K(J + 1) = TEMPK
     A28(J + 1) = TEMPA28
     A2(J + 1) = TEMPA2
     A7(J + 1) = TEMPA7
     A8(J + 1) = TEMPA8
     A5(J + 1) = TEMPA5
     A6(J + 1) = TEMPA6
     A10(J + 1) = TEMPA10
     
    End If
    Next J
   Next I


I = 1
H = 1
KP = 1
G = 10000
  Printer.Font = "標楷體"
  Printer.Print ""
  Printer.Scale (0, 0)-(209, 297)
 
  Printer.CurrentX = 95
  Printer.CurrentY = 13
  Printer.Font.Size = 20
  Printer.Print "類 別: "; Trim(TTYPE)
 
  Printer.CurrentX = 15
  Printer.CurrentY = 278
  Printer.Font.Size = 20
  Printer.Print Trim(TTYPE)
 
  Printer.Line (7, 25)-(7, 273) '左直
  Printer.Line (7, 25)-(73, 25) '上橫
  Printer.Line (75, 25)-(141, 25) '上橫1
  Printer.Line (143, 25)-(208, 25) '上橫2
  Printer.Line (208, 25)-(208, 273) '右直
  Printer.Line (7, 273)-(73, 273) '下橫
  Printer.Line (75, 273)-(141, 273) '下橫1
  Printer.Line (143, 273)-(208, 273) '下橫2
 
  Printer.Line (7, 48)-(73, 48) '第2橫
  Printer.Line (7, 73)-(73, 73) '第2橫1
  Printer.Line (7, 98)-(73, 98) '第2橫2
  Printer.Line (7, 123)-(73, 123) '第2橫3
  Printer.Line (7, 148)-(73, 148) '第2橫4
  Printer.Line (7, 173)-(73, 173) '第2橫5
  Printer.Line (7, 198)-(73, 198) '第2橫6
  Printer.Line (7, 223)-(73, 223) '第2橫7
  Printer.Line (7, 248)-(73, 248) '第2橫8
   
  Printer.Line (29, 25)-(29, 273) '第1直
  Printer.Line (45, 25)-(45, 273) '第2直
  Printer.Line (73, 25)-(73, 273) '第3直
  Printer.Line (75, 25)-(75, 273) '第4直
 
  Printer.Line (97, 25)-(97, 273) '第6直
 
  Printer.Line (113, 25)-(113, 273) '第8直
  Printer.Line (141, 25)-(141, 273) '第9直
  Printer.Line (143, 25)-(143, 273) '第10直
  Printer.Line (165, 25)-(165, 273) '第11直
  Printer.Line (180, 25)-(180, 273) '第12直
   
  Printer.Line (75, 48)-(141, 48) '第3橫
  Printer.Line (75, 73)-(141, 73) '第3橫1
  Printer.Line (75, 98)-(141, 98) '第3橫2
  Printer.Line (75, 123)-(141, 123) '第3橫3
  Printer.Line (75, 148)-(141, 148) '第3橫4
  Printer.Line (75, 173)-(141, 173) '第3橫5
  Printer.Line (75, 198)-(141, 198) '第3橫6
  Printer.Line (75, 223)-(141, 223) '第3橫7
  Printer.Line (75, 248)-(141, 248) '第3橫8
 
  Printer.Line (143, 48)-(208, 48) '第4橫
  Printer.Line (143, 73)-(208, 73) '第4橫1
  Printer.Line (143, 98)-(208, 98) '第4橫2
  Printer.Line (143, 123)-(208, 123) '第4橫3
  Printer.Line (143, 148)-(208, 148) '第4橫4
  Printer.Line (143, 173)-(208, 173) '第4橫5
  Printer.Line (143, 198)-(208, 198) '第4橫6
  Printer.Line (143, 223)-(208, 223) '第4橫7
  Printer.Line (143, 248)-(208, 248) '第4橫8
  
  Printer.Font.Size = 12
 
  Printer.CurrentX = 155
  Printer.CurrentY = 13
  Printer.Print "印表日:"; Date
 
  Printer.CurrentX = 190
  Printer.CurrentY = 13
  Printer.Print "第"; KP; "頁"
 
  Printer.CurrentX = 8
  Printer.CurrentY = 33
  Printer.Print "公司名稱"
 
  Printer.CurrentX = 30
  Printer.CurrentY = 29
  Printer.Print "聯絡人"
 
  Printer.CurrentX = 30
  Printer.CurrentY = 39
  Printer.Print "職 稱"
   
  Printer.CurrentX = 46
  Printer.CurrentY = 29
  Printer.Print "大哥大"
 
  Printer.CurrentX = 46
  Printer.CurrentY = 39
  Printer.Print "公司電話"
 
  Printer.CurrentX = 76
  Printer.CurrentY = 33
  Printer.Print "公司名稱"
 
  Printer.CurrentX = 98
  Printer.CurrentY = 29
  Printer.Print "聯絡人"
 
  
  Printer.CurrentX = 98
  Printer.CurrentY = 39
  Printer.Print "職 稱"
 
  Printer.CurrentX = 114
  Printer.CurrentY = 29
  Printer.Print "大哥大"
 
  Printer.CurrentX = 114
  Printer.CurrentY = 39
  Printer.Print "公司電話"
 
  Printer.CurrentX = 144
  Printer.CurrentY = 33
  Printer.Print "公司名稱"
 
  Printer.CurrentX = 166
  Printer.CurrentY = 29
  Printer.Print "聯絡人"
 
  
  Printer.CurrentX = 166
  Printer.CurrentY = 39
  Printer.Print "職 稱"
 
  Printer.CurrentX = 181
  Printer.CurrentY = 29
  Printer.Print "大哥大"
 
  Printer.CurrentX = 181
  Printer.CurrentY = 39
  Printer.Print "公司電話"
 
Do
  If I <= 8 Then
   
  Dim L2 As Integer
  L2 = Len(Trim(A15(H))) '公司名稱
  Printer.CurrentX = 8
  Printer.CurrentY = 53 + 25 * (I - 1)
  Printer.Print Left$(Trim(A2(H)), 6) '公司名稱
  If L2 - 6 > 0 Then
   Printer.CurrentX = 8
   Printer.CurrentY = 61 + 25 * (I - 1)
   Printer.Print Mid$(Trim(A2(H)), 7, 6) '公司名稱
  End If
 
 
  Printer.CurrentX = 30
  Printer.CurrentY = 53 + 25 * (I - 1)
  Printer.Print Left$(Trim(A5(H)), 4) '聯絡人
 
 
  Printer.CurrentX = 30
  Printer.CurrentY = 61 + 25 * (I - 1)
  Printer.Print Left$(Trim(A6(H)), 4) '職稱
 
  Printer.CurrentX = 46
  Printer.CurrentY = 50 + 25 * (I - 1)
  Printer.Print Trim(A10(H)) '大哥大
 
  Printer.CurrentX = 46
  Printer.CurrentY = 56 + 25 * (I - 1)
  Printer.Print Trim(A7(H)) '公司電話1
 
  Printer.CurrentX = 46
  Printer.CurrentY = 62 + 25 * (I - 1)
  Printer.Print Trim(A8(H)) '公司電話2
 
 

  Do
  If I <= 8 Then
   
  Dim L3 As Integer
  L3 = Len(Trim(A15(H))) '公司名稱
  Printer.CurrentX = 76
  Printer.CurrentY = 53 + 25 * (I - 1)
  Printer.Print Left$(Trim(A2(H)), 6) '公司名稱
  If L3 - 6 > 0 Then
   Printer.CurrentX = 76
   Printer.CurrentY = 61 + 25 * (I - 1)
   Printer.Print Mid$(Trim(A2(H)), 7, 6) '公司名稱
  End If
 
 
  Printer.CurrentX = 98
  Printer.CurrentY = 53 + 25 * (I - 1)
  Printer.Print Left$(Trim(A5(H)), 4) '聯絡人
 
 
  Printer.CurrentX = 98
  Printer.CurrentY = 61 + 25 * (I - 1)
  Printer.Print Left$(Trim(A6(H)), 4) '職稱
 
  Printer.CurrentX = 114
  Printer.CurrentY = 50 + 25 * (I - 1)
  Printer.Print Trim(A10(H)) '大哥大
 
  Printer.CurrentX = 114
  Printer.CurrentY = 56 + 25 * (I - 1)
  Printer.Print Trim(A7(H)) '公司電話1
 
  Printer.CurrentX = 114
  Printer.CurrentY = 62 + 25 * (I - 1)
  Printer.Print Trim(A8(H)) '公司電話2
 
 

  Do
  If I <= 8 Then
   
  Dim L4 As Integer
  L4 = Len(Trim(A15(H))) '公司名稱
  Printer.CurrentX = 144
  Printer.CurrentY = 53 + 25 * (I - 1)
  Printer.Print Left$(Trim(A2(H)), 6) '公司名稱
  If L4 - 6 > 0 Then
   Printer.CurrentX = 144
   Printer.CurrentY = 61 + 25 * (I - 1)
   Printer.Print Mid$(Trim(A2(H)), 7, 6) '公司名稱
  End If
 
 
  Printer.CurrentX = 166
  Printer.CurrentY = 53 + 25 * (I - 1)
  Printer.Print Left$(Trim(A5(H)), 4) '聯絡人
 
 
  Printer.CurrentX = 166
  Printer.CurrentY = 61 + 25 * (I - 1)
  Printer.Print Left$(Trim(A6(H)), 4) '職稱
 
  Printer.CurrentX = 181
  Printer.CurrentY = 50 + 25 * (I - 1)
  Printer.Print Trim(A10(H)) '大哥大
 
  Printer.CurrentX = 181
  Printer.CurrentY = 56 + 25 * (I - 1)
  Printer.Print Trim(A7(H)) '公司電話1
 
  Printer.CurrentX = 181
  Printer.CurrentY = 62 + 25 * (I - 1)
  Printer.Print Trim(A8(H)) '公司電話2
  
  
End If
I = I + 1
H = H + 1
G = (I - 1) Mod 8
If G = 0 And (H - 1) <= COUNT1 Then
  I = I - 8
  KP = KP + 1
  Printer.NewPage
 
  Printer.Font = "標楷體"
  Printer.Print ""
  Printer.Scale (0, 0)-(209, 297)
 
  Printer.CurrentX = 95
  Printer.CurrentY = 13
  Printer.Font.Size = 20
  Printer.Print "類 別: "; Trim(TTYPE)
 
  Printer.CurrentX = 15
  Printer.CurrentY = 278
  Printer.Font.Size = 20
  Printer.Print Trim(TTYPE)
 
   Printer.Line (7, 25)-(7, 273) '左直
  Printer.Line (7, 25)-(73, 25) '上橫
  Printer.Line (75, 25)-(141, 25) '上橫1
  Printer.Line (143, 25)-(208, 25) '上橫2
  Printer.Line (208, 25)-(208, 273) '右直
  Printer.Line (7, 273)-(73, 273) '下橫
  Printer.Line (75, 273)-(141, 273) '下橫1
  Printer.Line (143, 273)-(208, 273) '下橫2
 
  Printer.Line (7, 48)-(73, 48) '第2橫
  Printer.Line (7, 73)-(73, 73) '第2橫1
  Printer.Line (7, 98)-(73, 98) '第2橫2
  Printer.Line (7, 123)-(73, 123) '第2橫3
  Printer.Line (7, 148)-(73, 148) '第2橫4
  Printer.Line (7, 173)-(73, 173) '第2橫5
  Printer.Line (7, 198)-(73, 198) '第2橫6
  Printer.Line (7, 223)-(73, 223) '第2橫7
  Printer.Line (7, 248)-(73, 248) '第2橫8
   
  Printer.Line (29, 25)-(29, 273) '第1直
  Printer.Line (45, 25)-(45, 273) '第2直
  Printer.Line (73, 25)-(73, 273) '第3直
  Printer.Line (75, 25)-(75, 273) '第4直
 
  Printer.Line (97, 25)-(97, 273) '第6直
 
  Printer.Line (113, 25)-(113, 273) '第8直
  Printer.Line (141, 25)-(141, 273) '第9直
  Printer.Line (143, 25)-(143, 273) '第10直
  Printer.Line (165, 25)-(165, 273) '第11直
  Printer.Line (180, 25)-(180, 273) '第12直
   
  Printer.Line (75, 48)-(141, 48) '第3橫
  Printer.Line (75, 73)-(141, 73) '第3橫1
  Printer.Line (75, 98)-(141, 98) '第3橫2
  Printer.Line (75, 123)-(141, 123) '第3橫3
  Printer.Line (75, 148)-(141, 148) '第3橫4
  Printer.Line (75, 173)-(141, 173) '第3橫5
  Printer.Line (75, 198)-(141, 198) '第3橫6
  Printer.Line (75, 223)-(141, 223) '第3橫7
  Printer.Line (75, 248)-(141, 248) '第3橫8
 
  Printer.Line (143, 48)-(208, 48) '第4橫
  Printer.Line (143, 73)-(208, 73) '第4橫1
  Printer.Line (143, 98)-(208, 98) '第4橫2
  Printer.Line (143, 123)-(208, 123) '第4橫3
  Printer.Line (143, 148)-(208, 148) '第4橫4
  Printer.Line (143, 173)-(208, 173) '第4橫5
  Printer.Line (143, 198)-(208, 198) '第4橫6
  Printer.Line (143, 223)-(208, 223) '第4橫7
  Printer.Line (143, 248)-(208, 248) '第4橫8
  
  Printer.Font.Size = 12
 
  Printer.CurrentX = 155
  Printer.CurrentY = 13
  Printer.Print "印表日:"; Date
 
  Printer.CurrentX = 190
  Printer.CurrentY = 13
  Printer.Print "第"; KP; "頁"
 
  Printer.CurrentX = 8
  Printer.CurrentY = 33
  Printer.Print "公司名稱"
 
  Printer.CurrentX = 30
  Printer.CurrentY = 29
  Printer.Print "聯絡人"
 
  Printer.CurrentX = 30
  Printer.CurrentY = 39
  Printer.Print "職 稱"
   
  Printer.CurrentX = 46
  Printer.CurrentY = 29
  Printer.Print "大哥大"
 
  Printer.CurrentX = 46
  Printer.CurrentY = 39
  Printer.Print "公司電話"
 
  Printer.CurrentX = 76
  Printer.CurrentY = 33
  Printer.Print "公司名稱"
 
  Printer.CurrentX = 98
  Printer.CurrentY = 29
  Printer.Print "聯絡人"
 
  
  Printer.CurrentX = 98
  Printer.CurrentY = 39
  Printer.Print "職 稱"
 
  Printer.CurrentX = 114
  Printer.CurrentY = 29
  Printer.Print "大哥大"
 
  Printer.CurrentX = 114
  Printer.CurrentY = 39
  Printer.Print "公司電話"
 
  Printer.CurrentX = 144
  Printer.CurrentY = 33
  Printer.Print "公司名稱"
 
  Printer.CurrentX = 166
  Printer.CurrentY = 29
  Printer.Print "聯絡人"
 
  
  Printer.CurrentX = 166
  Printer.CurrentY = 39
  Printer.Print "職 稱"
 
  Printer.CurrentX = 181
  Printer.CurrentY = 29
  Printer.Print "大哥大"
 
  Printer.CurrentX = 181
  Printer.CurrentY = 39
  Printer.Print "公司電話"
End If
Loop Until H > COUNT1
End If
Loop Until H > COUNT1
End If
Loop Until H > COUNT1
Printer.EndDoc


End Sub
arrow
arrow
    全站熱搜

    vbqa 發表在 痞客邦 留言(0) 人氣()