Here's some background on which I've been following.

Which will visit the last or first record from the database. I wish to skip to some record within the access database the user wants by typing the ID number inside a textbox and so the correct row can get make the textboxes.

I believe I'm able to make use of this code in the above website. I've implemented anything else in the website above.

Global variable

int inc = 0;

The navigate records which i will get in touch with my Skip button later

private void NavigateRecords()
      DataRow dRow = ds1.Tables["Laptops"].Rows[inc];

      txtMaker.Text = ds1.Tables["Laptops"].Rows[inc].ItemArray.GetValue(1).ToString();
      txtModel.Text = ds1.Tables["Laptops"].Rows[inc].ItemArray.GetValue(2).ToString();
      txtPrice.Text = ds1.Tables["Laptops"].Rows[inc].ItemArray.GetValue(3).ToString();
      txtBids.Text = ds1.Tables["Laptops"].Rows[inc].ItemArray.GetValue(4).ToString();
      txtScreen.Text = ds1.Tables["Laptops"].Rows[inc].ItemArray.GetValue(5).ToString();
      txtCPU.Text = ds1.Tables["Laptops"].Rows[inc].ItemArray.GetValue(6).ToString();
      txtMemory.Text = ds1.Tables["Laptops"].Rows[inc].ItemArray.GetValue(7).ToString();
      txtHD.Text = ds1.Tables["Laptops"].Rows[inc].ItemArray.GetValue(8).ToString();
      picLaptops.Image = Image.FromFile(ds1.Tables["Laptops"].Rows[inc].ItemArray.GetValue(9).ToString());

My skip button to date...

private void btnSkip_Click(object sender, EventArgs e)

It's hard that i can do that. I understand things i want but don't have the technical skill to get it done. It's very frustrating. I've no clue how to proceed.

If a person can settle your differences and show me the code I'm able to then comprehend it and employ it elsewhere.

Here's a good example of the following button to visit the following record in the event that helps.

private void btnNext_Click(object sender, EventArgs e)
      if (inc != MaxRows - 1)
          MessageBox.Show("You have reached the end of available items", "End of Available Items", MessageBoxButtons.OK, MessageBoxIcon.Information);

According to your description, I believe this is exactly what you would like

void btnNext_Click(object sender, EventArgs e) {
    int id = Int32.Parse(yourIdTextBox.Text);

    DataRow row = ds1.Tables["Laptops"].Rows.OfType<DataRow>()
                     .SingleOrDefault(r => (int)r.ItemArray[your id index] == id);

    if (row == null)
         //user typed in invalid row id
    }  else

void processRow(DataRow row){
    txtMaker.Text = row.ItemArray.GetValue(1).ToString();
    txtModel.Text = row.ItemArray.GetValue(2).ToString();
    txtPrice.Text = row.ItemArray.GetValue(3).ToString();
    txtBids.Text = row.ItemArray.GetValue(4).ToString();
    txtScreen.Text = row.ItemArray.GetValue(5).ToString();
    txtCPU.Text = row.ItemArray.GetValue(6).ToString();
    txtMemory.Text = row.ItemArray.GetValue(7).ToString();
    txtHD.Text = row.ItemArray.GetValue(8).ToString();
    picLaptops.Image = Image.FromFile(row.ItemArray.GetValue(9).ToString());

Which may then simplify your NavigateRecors() approach to

private void NavigateRecords()
    DataRow dRow = ds1.Tables["Laptops"].Rows[inc];


Use data binding, rather than setting values by hand to controls.

  1. produce a model class
public class MyClass  
    public string Maker { get; set; }  
    public double price { get; set; }  
    // and so on, for all your fields  
  1. Give a object databases for MyClass within the "Data Sources" explorer in Visual Studio.

  2. Drag the fields make up the Data Sources for your form. Visual Studio instantly give a BindingSource along with a BindingNavigator for your form.

  3. Assign your computer data towards the BindingSource within the form:

this.bindingSource1.DataSource = myData;

Where myData is a few enumeration of MyClass objects.

This can be done for database sources too. But personally I favor to possess my data in classes. Is's simpler to deal with, than either adjusting DataSets or form fields directly.