Hi
Visual Basic .net (express edition) windows application.
Sometime when running the following code I get this message:
"Object reference not set to an instance of an object"
The fault is probably somewhere in the start because when it runs smoothly the Messagebox is displayed but not when the fault appears.
The Code:
Dim sPath As String = "\\server\faelles\Index Data\Patientmapper\"
With CheckList1
.Add(TextBox1)
.Add(TextBox2)
.Add(TextBox4)
.Add(TextBox3)
.Add(TextBox9)
.Add(TextBox12)
.Add(TextBox21)
.Add(TextBox29)
.Add(TextBox25)
.Add(TextBox26)
.Add(TextBox33)
.Add(TextBox31)
.Add(TextBox39)
.Add(TextBox37)
.Add(TextBox45)
.Add(TextBox53)
.Add(TextBox49)
.Add(TextBox50)
.Add(TextBox57)
.Add(TextBox55)
.Add(TextBox63)
.Add(TextBox71)
.Add(TextBox67)
.Add(TextBox68)
End With
If xlApp.Workbooks.Count > 0 Then
MessageBox.Show("Kun patientlisten må være åben!")
Else
Try
Dim Msg As String, Style As String, Title As String, Response As String
Msg = "Skal alle medicinlister udprintes?" ' Define message.
Style = vbYesNo + vbDefaultButton2 ' Define buttons.
Title = "Meddelelsesbox" ' Define title.
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
SuspendLayout()
Dim Dag As String
Dim i As Integer
For i = 0 To CheckList1.Count - 1
Dim tb2 As TextBox = CType(CheckList1(i), TextBox)
If tb2.Text = TextBox1.Text Then
Cpr = TextBox73.Text
Dag = TextBox118.Text
ElseIf tb2.Text = TextBox2.Text Then
Cpr = TextBox74.Text
Dag = TextBox119.Text
ElseIf tb2.Text = TextBox4.Text Then
Cpr = TextBox76.Text
Dag = TextBox121.Text
ElseIf tb2.Text = TextBox3.Text Then
Cpr = TextBox75.Text
Dag = TextBox120.Text
ElseIf tb2.Text = TextBox9.Text Then
Cpr = TextBox95.Text
Dag = TextBox117.Text
ElseIf tb2.Text = TextBox12.Text Then
Cpr = TextBox96.Text
Dag = TextBox116.Text
ElseIf tb2.Text = TextBox21.Text Then
Cpr = TextBox77.Text
Dag = TextBox112.Text
ElseIf tb2.Text = TextBox29.Text Then
Cpr = TextBox78.Text
Dag = TextBox113.Text
ElseIf tb2.Text = TextBox25.Text Then
Cpr = TextBox80.Text
Dag = TextBox115.Text
ElseIf tb2.Text = TextBox26.Text Then
Cpr = TextBox79.Text
Dag = TextBox114.Text
ElseIf tb2.Text = TextBox33.Text Then
Cpr = TextBox94.Text
Dag = TextBox111.Text
ElseIf tb2.Text = TextBox31.Text Then
Cpr = TextBox97.Text
Dag = TextBox110.Text
ElseIf tb2.Text = TextBox39.Text Then
Cpr = TextBox92.Text
Dag = TextBox109.Text
ElseIf tb2.Text = TextBox37.Text Then
Cpr = TextBox91.Text
Dag = TextBox108.Text
ElseIf tb2.Text = TextBox45.Text Then
Cpr = TextBox81.Text
Dag = TextBox104.Text
ElseIf tb2.Text = TextBox53.Text Then
Cpr = TextBox82.Text
Dag = TextBox105.Text
ElseIf tb2.Text = TextBox49.Text Then
Cpr = TextBox84.Text
Dag = TextBox107.Text
ElseIf tb2.Text = TextBox50.Text Then
Cpr = TextBox83.Text
Dag = TextBox106.Text
ElseIf tb2.Text = TextBox57.Text Then
Cpr = TextBox90.Text
Dag = TextBox103.Text
ElseIf tb2.Text = TextBox55.Text Then
Cpr = TextBox89.Text
Dag = TextBox102.Text
ElseIf tb2.Text = TextBox63.Text Then
Cpr = TextBox85.Text
Dag = TextBox99.Text
ElseIf tb2.Text = TextBox71.Text Then
Cpr = TextBox86.Text
Dag = TextBox98.Text
ElseIf tb2.Text = TextBox67.Text Then
Cpr = TextBox88.Text
Dag = TextBox101.Text
Else
Cpr = TextBox87.Text
Dag = TextBox100.Text
End If
If tb2.Text <> "" And Microsoft.VisualBasic.Left
(i, 1) <> "R" And Microsoft.VisualBasic.Left
(i, 1) <> "P" And Dag > "-1" Then
xlApp.Workbooks.Open(sPath
& Cpr & ".opr")
With xlApp.ActiveWorkbook
.Sheets("Medicin").Activat
e()
.ActiveSheet.PrintOut(Copi
es:=1, Collate:=True)
.Close(False)
End With
ElseIf tb2.Text <> "" And Microsoft.VisualBasic.Left
(i, 1) <> "R" And Microsoft.VisualBasic.Left
(i, 1) <> "P" And Dag = "-1" Then
xlApp.Workbooks.Open(sPath
& Cpr & ".opr")
With xlApp.ActiveWorkbook
.Sheets("Stamkort").Activa
te()
.ActiveSheet.PrintOut(Copi
es:=1, Collate:=True)
.Close(False)
End With
End If
Next i
ResumeLayout()
End If
Catch oexpData As OleDb.OleDbException
MsgBox(oexpData.Message)
End Try
End If