Hi, i am currently running a program that will allow me to save all data on the form to open and edit at will. It uses a structure of 8 arrays, each with 16 values to save the information.

When i try to save the text into the array, it tells me that its a bad record length and crashes.

Here is the code:

Code:
    Public Structure save_weekly
        <VBFixedString(8)> Public dates() As String
        <VBFixedString(30)> Public description() As String
        Public FaD() As Double 'food and drink
        Public ToE() As Double 'toys and equiptment
        Public HaL() As Double 'heating and lighting
        Public WrCt() As Double 'water rates/council tax
        Public TrO() As Double 'travel and outings
        Public Misc() As Double 'miscellaneous
    End Structure
That is the structure itself
just to warn you, this next bits a bit bulky, i couldnt work out how to loop the textbox names (if you can find a way, that would be great!)

Code:
  Dim saveweekly As New save_weekly
        Dim month As Integer
        Dim week As Integer
        Dim filename As String
        Dim x As Integer = 1

        month = MonthCalendar1.SelectionRange.Start.Month
        week = My.Settings.currentweek - 1
        filename = "f" & month.ToString & week.ToString

        saveweekly.dates = New String(14) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
        saveweekly.description = New String(14) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
        saveweekly.FaD = New Double(14) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
        saveweekly.ToE = New Double(14) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
        saveweekly.HaL = New Double(14) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
        saveweekly.WrCt = New Double(14) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
        saveweekly.TrO = New Double(14) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
        saveweekly.Misc = New Double(14) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}

        saveweekly.dates.SetValue(TextBox2.Text, 0)
        saveweekly.dates.SetValue(TextBox3.Text, 1)
        saveweekly.dates.SetValue(TextBox4.Text, 2)
        saveweekly.dates.SetValue(TextBox5.Text, 3)
        saveweekly.dates.SetValue(TextBox6.Text, 4)
        saveweekly.dates.SetValue(TextBox7.Text, 5)
        saveweekly.dates.SetValue(TextBox8.Text, 6)
        saveweekly.dates.SetValue(TextBox9.Text, 7)
        saveweekly.dates.SetValue(TextBox10.Text, 8)
        saveweekly.dates.SetValue(TextBox11.Text, 9)
        saveweekly.dates.SetValue(TextBox12.Text, 10)
        saveweekly.dates.SetValue(TextBox13.Text, 11)
        saveweekly.dates.SetValue(TextBox14.Text, 12)
        saveweekly.dates.SetValue(TextBox15.Text, 13)

        saveweekly.description.SetValue(D1.Text, 0)
        saveweekly.description.SetValue(D2.Text, 1)
        saveweekly.description.SetValue(D3.Text, 2)
        saveweekly.description.SetValue(D4.Text, 3)
        saveweekly.description.SetValue(D5.Text, 4)
        saveweekly.description.SetValue(D6.Text, 5)
        saveweekly.description.SetValue(D7.Text, 6)
        saveweekly.description.SetValue(D8.Text, 7)
        saveweekly.description.SetValue(D9.Text, 8)
        saveweekly.description.SetValue(D10.Text, 9)
        saveweekly.description.SetValue(D11.Text, 10)
        saveweekly.description.SetValue(D12.Text, 11)
        saveweekly.description.SetValue(D13.Text, 12)
        saveweekly.description.SetValue(D14.Text, 13)

        saveweekly.FaD.SetValue(Val(Fd1.Text), 0)
        saveweekly.FaD.SetValue(Val(Fd2.Text), 1)
        saveweekly.FaD.SetValue(Val(Fd3.Text), 2)
        saveweekly.FaD.SetValue(Val(Fd4.Text), 3)
        saveweekly.FaD.SetValue(Val(Fd5.Text), 4)
        saveweekly.FaD.SetValue(Val(Fd6.Text), 5)
        saveweekly.FaD.SetValue(Val(Fd7.Text), 6)
        saveweekly.FaD.SetValue(Val(Fd8.Text), 7)
        saveweekly.FaD.SetValue(Val(Fd9.Text), 8)
        saveweekly.FaD.SetValue(Val(Fd10.Text), 9)
        saveweekly.FaD.SetValue(Val(Fd11.Text), 10)
        saveweekly.FaD.SetValue(Val(Fd12.Text), 11)
        saveweekly.FaD.SetValue(Val(Fd13.Text), 12)
        saveweekly.FaD.SetValue(Val(Fd14.Text), 13)

        saveweekly.ToE.SetValue(Val(te1.Text), 0)
        saveweekly.ToE.SetValue(Val(te2.Text), 1)
        saveweekly.ToE.SetValue(Val(te3.Text), 2)
        saveweekly.ToE.SetValue(Val(te4.Text), 3)
        saveweekly.ToE.SetValue(Val(te5.Text), 4)
        saveweekly.ToE.SetValue(Val(te6.Text), 5)
        saveweekly.ToE.SetValue(Val(te7.Text), 6)
        saveweekly.ToE.SetValue(Val(te8.Text), 7)
        saveweekly.ToE.SetValue(Val(te9.Text), 8)
        saveweekly.ToE.SetValue(Val(Te10.Text), 9)
        saveweekly.ToE.SetValue(Val(Te11.Text), 10)
        saveweekly.ToE.SetValue(Val(Te12.Text), 11)
        saveweekly.ToE.SetValue(Val(Te13.Text), 12)
        saveweekly.ToE.SetValue(Val(Te14.Text), 13)

        saveweekly.HaL.SetValue(Val(hl1.Text), 0)
        saveweekly.HaL.SetValue(Val(hl2.Text), 1)
        saveweekly.HaL.SetValue(Val(hl3.Text), 2)
        saveweekly.HaL.SetValue(Val(hl4.Text), 3)
        saveweekly.HaL.SetValue(Val(hl5.Text), 4)
        saveweekly.HaL.SetValue(Val(hl6.Text), 5)
        saveweekly.HaL.SetValue(Val(hl7.Text), 6)
        saveweekly.HaL.SetValue(Val(hl8.Text), 7)
        saveweekly.HaL.SetValue(Val(hl9.Text), 8)
        saveweekly.HaL.SetValue(Val(hl10.Text), 9)
        saveweekly.HaL.SetValue(Val(hl11.Text), 10)
        saveweekly.HaL.SetValue(Val(hl12.Text), 11)
        saveweekly.HaL.SetValue(Val(hl13.Text), 12)
        saveweekly.HaL.SetValue(Val(hl14.Text), 13)

        saveweekly.WrCt.SetValue(Val(wc1.Text), 1)
        saveweekly.WrCt.SetValue(Val(wc2.Text), 2)
        saveweekly.WrCt.SetValue(Val(wc3.Text), 3)
        saveweekly.WrCt.SetValue(Val(wc4.Text), 4)
        saveweekly.WrCt.SetValue(Val(wc5.Text), 5)
        saveweekly.WrCt.SetValue(Val(wc6.Text), 6)
        saveweekly.WrCt.SetValue(Val(wc7.Text), 7)
        saveweekly.WrCt.SetValue(Val(wc8.Text), 8)
        saveweekly.WrCt.SetValue(Val(wc9.Text), 9)
        saveweekly.WrCt.SetValue(Val(wc10.Text), 10)
        saveweekly.WrCt.SetValue(Val(wc11.Text), 11)
        saveweekly.WrCt.SetValue(Val(wc12.Text), 12)
        saveweekly.WrCt.SetValue(Val(wc13.Text), 13)
        saveweekly.WrCt.SetValue(Val(wc14.Text), 14)

        saveweekly.TrO.SetValue(Val(to1.Text), 0)
        saveweekly.TrO.SetValue(Val(to2.Text), 1)
        saveweekly.TrO.SetValue(Val(to1.Text), 2)
        saveweekly.TrO.SetValue(Val(to1.Text), 3)
        saveweekly.TrO.SetValue(Val(to1.Text), 4)
        saveweekly.TrO.SetValue(Val(to1.Text), 5)
        saveweekly.TrO.SetValue(Val(to1.Text), 6)
        saveweekly.TrO.SetValue(Val(to1.Text), 7)
        saveweekly.TrO.SetValue(Val(to1.Text), 8)
        saveweekly.TrO.SetValue(Val(to1.Text), 9)
        saveweekly.TrO.SetValue(Val(to1.Text), 10)
        saveweekly.TrO.SetValue(Val(to1.Text), 11)
        saveweekly.TrO.SetValue(Val(to1.Text), 12)
        saveweekly.TrO.SetValue(Val(to1.Text), 13)

        saveweekly.Misc.SetValue(Val(m1.Text), 0)
        saveweekly.Misc.SetValue(Val(m2.Text), 1)
        saveweekly.Misc.SetValue(Val(m3.Text), 2)
        saveweekly.Misc.SetValue(Val(m4.Text), 3)
        saveweekly.Misc.SetValue(Val(m5.Text), 4)
        saveweekly.Misc.SetValue(Val(m6.Text), 5)
        saveweekly.Misc.SetValue(Val(m7.Text), 6)
        saveweekly.Misc.SetValue(Val(m8.Text), 7)
        saveweekly.Misc.SetValue(Val(m9.Text), 8)
        saveweekly.Misc.SetValue(Val(m10.Text), 9)
        saveweekly.Misc.SetValue(Val(m11.Text), 10)
        saveweekly.Misc.SetValue(Val(m12.Text), 11)
        saveweekly.Misc.SetValue(Val(m13.Text), 12)
        saveweekly.Misc.SetValue(Val(m14.Text), 13)


        FileOpen(1, filename, OpenMode.Random, OpenAccess.Write, OpenShare.Shared, Len(saveweekly))
        FilePut(1, saveweekly)
        FileClose(1)
If anyone can tell me how to declare the length of the array in the structure to stop this, that will be a great help

Thanks

Ryy