Solved

cORRECT SYNTAX FOR insert into

Posted on 2007-11-22
28
462 Views
Last Modified: 2013-12-25
Hi
can anyone tell me the correct syntax for the following mysql statement. txtvbmonday is my date (first column) Atherstone is my second column which = txtatherstoneactual etc etc

mysql = " INSERT INTO ActualOrders "
txtvbMonday (i), txtatherstoneactual, txtchelmsfordactual(0).Text, txtdarlingtonactual(0).Text, txtmiddletonactual(0).Text, txtnestonestimate(0).Text, txtswindonactual(0).Text

Many Thanks
Andy
0
Comment
Question by:samandrew
  • 12
  • 11
  • 4
  • +1
28 Comments
 
LVL 44

Accepted Solution

by:
Arthur_Wood earned 200 total points
ID: 20336312
mysql = " INSERT INTO ActualOrders  Values(" & _
txtvbMonday (i) & " ," & txtatherstoneactual & "," & txtchelmsfordactual(0).Text & "," &  txtdarlingtonactual(0).Text & "," &  txtmiddletonactual(0).Text& "," &  txtnestonestimate(0).Text& "," &  txtswindonactual(0).Text & ")"

If any of the fields into which these value are to be inserted are STRING (TEXT) fields, then the value must be enclosed in '...', as

mysql = " INSERT INTO ActualOrders  Values('" & _
txtvbMonday (i) & "' ," & txtatherstoneactual & "," & txtchelmsfordactual(0).Text & "," &  txtdarlingtonactual(0).Text & "," &  txtmiddletonactual(0).Text& "," &  txtnestonestimate(0).Text& "," &  txtswindonactual(0).Text & ")"

AW
0
 
LVL 7

Expert Comment

by:dansoto
ID: 20336317
The standard notation is simply:

"INSERT INTO tbl_name (col1,col2) VALUES (val1,val2)"

Make sure you list the same number of columns as you have values.
0
 
LVL 11

Expert Comment

by:Angelp1ay
ID: 20336340
   INSERT INTO table (column1, column2, column3) VALUES ('stringvalue', 1, #01/01/07#);

With variables, VBA syntax (which I guess is similar) would be:

    strSQL = "INSERT INTO table (column1, column2, column3) VALUES ('" & mystring & "', " & myint & ", #" & mydate & "#);"
0
 
LVL 44

Expert Comment

by:Arthur_Wood
ID: 20336695
If only the Values clause is specified, they must be of the same type, and in the same order as the fields are defined in the table.
0
 

Author Comment

by:samandrew
ID: 20338157
Hi All
I have tried the following

With rs
           .LockType = 1
           .CursorType = 3
           .Open mysql, Get_My_Connection

mysql = " INSERT INTO ActualOrders  "
Values(" & _ txtvbMonday (i) & " ," & txtatherstoneactual & "," & txtchelmsfordactual(0).Text & "," &  txtdarlingtonactual(0).Text & "," &  txtmiddletonactual(0).Text& "," &  txtnestonestimate(0).Text& "," &  txtswindonactual(0).Text & ")"

End If
.Close
End With

And get the following meassage
The table 'Actualorders' is already opened exclusivley by another user, or it is already open through the user interface and cannot be manipulated programatically.

I suspect this is because i have the connection open to populate my txtboxs but not sure how I can get round this, as I am only using 1 computor for this program do you think it would be better coding using ado syntax?. I have pasted all my code and would appreciate any help.


Public myConnection As ADODB.Connection
 Dim rs As New ADODB.Recordset
Dim mysql As String

Public Function Get_My_Connection() As ADODB.Connection
     If myConnection Is Nothing Then
           Set myConnection = New ADODB.Connection
           myConnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and Settings\andy\Desktop\Production\Planner.accdb;Persist Security Info=False;"
     End If
     Set Get_My_Connection = myConnection
End Function


Private Sub ResetDates()
   
   Dim i As Long
   Dim datSunday As Date
   datSunday = DateAdd("d", vbSunday - Weekday(Date), Date)
   For i = 0 To txtvbMonday.UBound
      txtvbMonday(i).Text = Format$(datSunday + i, "dd-mmm-yyyy")
      txtproductioncode(i).Text = Format$(5 + datSunday + i, "dd-mmm-yyyy")
      txtprecode(i).Text = Format$(6 + datSunday + i, "dd-mmm-yyyy")
   Next
   
   
   
   
   
           

   
    For i = 0 To 6
   
        mysql = "#" & Format(datSunday, "yyyy-mm-dd") & "#"
        mysql _
            = " SELECT Atherstone, Chelmsford, Darlington, Middleton, Neston, Swindon, DailyTotal" _
            & " FROM Actualorders " _
            & " WHERE Actualorders.[Date] Between" & mysql & " " & i - 7 & " And " & mysql
   
        With rs
           .LockType = 1
           .CursorType = 3
           .Open mysql, Get_My_Connection
     
           If .RecordCount > 0 Then
                txtatherstone(i).Text = .Fields("Atherstone")
                txtchelmsford(i).Text = .Fields("Chelmsford")
                txtdarlington(i).Text = .Fields("Darlington")
                txtmiddleton(i).Text = .Fields("Middleton")
                txtneston(i).Text = .Fields("Neston")
                txtswindon(i).Text = .Fields("Swindon")
                txtestimatetotal(i).Text = .Fields("DailyTotal")
               
            End If
            .Close
        End With
    Next i
   
   

   
End Sub

Private Sub cmd_exit_Click()
End
End Sub

Private Sub cmd_nestonupdate_Click(Index As Integer)
Dim response As Integer
response = MsgBox("You Are About To Alter The Neston Order Into The Database - DO YOU WANT TO CONTINUE?", vbQuestion + vbYesNo)
If response = vbYes Then
    MsgBox "Neston Order Succesfully Updated"
ElseIf response = vbNo Then
    MsgBox "Operation Has Been Cancelled - NO DATA HAS BEEN CHANGED"
End If
End Sub

Private Sub cmd_ordervariance_Click(Index As Integer)
txtordervariance(0) = txtlastweeksactual(0) - txtmondaysactual(0)
End Sub

Private Sub cmd_pallettotal_Click(Index As Integer)
Dim Total As Byte
Total = 0
If IsNumeric(txtBox1) Then
    If txtBox1 > 0 Then Total = Total + 1
End If
If IsNumeric(txtBox2) Then
    If txtBox2 > 0 Then Total = Total + 1
End If
If IsNumeric(txtBox3) Then
    If txtBox3 > 0 Then Total = Total + 1
End If
If IsNumeric(txtBox4) Then
    If txtBox4 > 0 Then Total = Total + 1
End If
If IsNumeric(txtBox5) Then
    If txtBox5 > 0 Then Total = Total + 1
End If

txtstandardpallets = Total
End Sub

Private Sub cmd_SaveData_Click()

With rs
           .LockType = 1
           .CursorType = 3
           .Open mysql, Get_My_Connection

mysql = " INSERT INTO ActualOrders  "
Values(" & _ txtvbMonday (i) & " ," & txtatherstoneactual & "," & txtchelmsfordactual(0).Text & "," &  txtdarlingtonactual(0).Text & "," &  txtmiddletonactual(0).Text& "," &  txtnestonestimate(0).Text& "," &  txtswindonactual(0).Text & ")"


End If
.Close
End With


End Sub

Private Sub Form_Load()

txtBoxDividend.Text = ""
txtBoxDivisor.Text = "72"
txtBoxDividends.Text = ""
txtBoxDivisors.Text = "72"

txtjcstandardcoderemainingstock(1).Text = txtBoxDividend.Text
txtjcprecoderemainingstock(1).Text = txtBoxDividends.Text

PBar1.Value = PBar1.Max

Dim i As Long
Dim j As Long


Dim datSunday As Date
datSunday = DateAdd("d", vbSunday - Weekday(Date), Date)
For i = 0 To 8
txtmincode(i).Text = Format$(datSunday + 5, "dd-mmm")
Next
For j = 0 To 5
txtpcode(j).Text = Format$(datSunday + 6, "dd-mmm")
Next


Dim dt As Date
Dim w As VbDayOfWeek
 
For w = vbMonday To vbSaturday
    dt = DateAdd("d", w - Weekday(Date), Date)
    For i = 1 To 8
        Me.Controls("txtmincode" & (w - 1))(i).Text = Format$(dt + 5, "dd-mmm")
        Debug.Print Format$(dt + 5, "dd-mmm"),
    Next
    Debug.Print
Next w

For w = vbMonday To vbSaturday
    dt = DateAdd("d", w - Weekday(Date), Date)
    For i = 1 To 5
        Me.Controls("txtpcode" & (w - 1))(i).Text = Format$(dt + 6, "dd-mmm")
        Debug.Print Format$(dt + 6, "dd-mmm"),
    Next
    Debug.Print
Next w



ResetDates
txtjctotalremainingstock(1).Text = CInt(txtjcstandardcoderemainingstock(1).Text) - CInt(txtjcprecoderemainingstock(1).Text)

Dim l As Integer
For l = 0 To 6

If IsNumeric(txtestimatetotal(l)) Then
            If txtestimatetotal(l) > 0 Then txtlastweeksactual(l) = txtestimatetotal(l)
            End If
txtlastweeksactual(l) = txtestimatetotal(l)
Next

End Sub



Private Sub txtactualtotal_Change(Index As Integer)
    Dim Total As Byte
    Total = 0
        If IsNumeric(txtatherstoneactual(0)) Then
            If txtatherstoneactual(0) > 0 Then Total = Total + txtatherstoneactual(0)
        End If
        If IsNumeric(txtchelmsfordactual(0)) Then
            If txtchelmsfordactual(0) > 0 Then Total = Total + txtchelmsfordactual(0)
        End If
        If IsNumeric(txtdarlingtonactual(0)) Then
            If txtdarlingtonactual(0) > 0 Then Total = Total + txtdarlingtonactual(0)
        End If
        If IsNumeric(txtnestonestimate(0)) Then
            If txtnestonestimate(0) > 0 Then Total = Total + txtnestonestimate(0)
        End If
        If IsNumeric(txtmiddletonactual(0)) Then
            If txtmiddletonactual(0) > 0 Then Total = Total + txtmiddletonactual(0)
        End If
        If IsNumeric(txtswindonactual(0)) Then
            If txtswindonactual(0) > 0 Then Total = Total + txtswindonactual(0)
        End If
        txtactualtotal(0) = Total
        txtmondaysactual(0) = Total
 
  Dim j As Long
    j = Val(txtactualtotal(0).Text)
    If j <= PBar1.Max Then
        PBar1.Value = Val(txtactualtotal(0).Text)
    Else
        PBar1.Value = PBar1.Max
    End If
       
   
End Sub

Private Sub txtatherstoneactual_Change(Index As Integer)
If Not IsNumeric(txtatherstoneactual(0).Text) Then Exit Sub

If txtjcstandardcoderemainingstock(1).Text - CInt(txtatherstoneactual(0).Text) > 0 Then
   txtjcstandardcoderemainingstock(1).Text = txtjcstandardcoderemainingstock(1).Text - CInt(txtatherstoneactual(0).Text)
Else
   txtjcprecoderemainingstock(1).Text = txtjcprecoderemainingstock(1).Text - CInt(txtatherstoneactual(0).Text)
End If

Dim Total As Byte
Dim i As Integer
Total = 0
For i = 0 To 6
If IsNumeric(txtatherstoneactual(i)) Then
If txtatherstoneactual(i) > 0 Then Total = Total + txtatherstoneactual(i)
End If
txtactualtotal(i) = Total
txtmondaysactual(i) = Total
Next


End Sub

Private Sub txtBoxDividend_Change()
   
    Dim i As Integer
    Dim dividend As Integer
    Dim divisor As Integer
   

    dividend = CInt(txtBoxDividend.Text)
    divisor = CInt(txtBoxDivisor.Text)
    For i = 1 To 5
        If dividend > 0 Then
            If dividend >= divisor Then
                Me.Controls("txtBox" & i).Text = divisor
                dividend = dividend - divisor
            Else
                Me.Controls("txtBox" & i).Text = dividend
                dividend = 0
            End If
        Else
            Me.Controls("txtBox" & i).Text = ""
        End If
    Next
   
txtjcstandardcoderemainingstock(1).Text = txtBoxDividend.Text

End Sub

Private Sub txtBoxDividends_Change()
    Dim i As Integer
    Dim dividends As Integer
    Dim divisor As Integer
   

    dividends = CInt(txtBoxDividends.Text)
    divisor = CInt(txtBoxDivisors.Text)
    For i = 6 To 10
        If dividends > 0 Then
            If dividends >= divisor Then
                Me.Controls("txtBox" & i).Text = divisor
                dividends = dividends - divisor
            Else
                Me.Controls("txtBox" & i).Text = dividends
                dividends = 0
            End If
       
        End If
    Next
   
txtjcprecoderemainingstock(1).Text = txtBoxDividends.Text

End Sub

Private Sub txtchelmsfordactual_Change(Index As Integer)

If Not IsNumeric(txtchelmsfordactual(0).Text) Then Exit Sub

If txtjcstandardcoderemainingstock(1).Text - CInt(txtchelmsfordactual(0).Text) > 0 Then
   txtjcstandardcoderemainingstock(1).Text = txtjcstandardcoderemainingstock(1).Text - CInt(txtchelmsfordactual(0).Text)
Else
   txtjcprecoderemainingstock(1).Text = txtjcprecoderemainingstock(1).Text - CInt(txtchelmsfordactual(0).Text)
End If


Dim Total As Byte
Dim i As Integer
Total = 0
For i = 0 To 6
If IsNumeric(txtchelmsfordactual(i)) Then
If txtchelmsfordactual(i) > 0 Then Total = Total + txtchelmsfordactual(i)
End If
txtactualtotal(i) = Total
txtmondaysactual(i) = Total
Next

End Sub

Private Sub txtdarlingtonactual_Change(Index As Integer)

If Not IsNumeric(txtdarlingtonactual(0)) Then Exit Sub

If txtjcstandardcoderemainingstock(1).Text - CInt(txtdarlingtonactual(0)) > 0 Then
   txtjcstandardcoderemainingstock(1).Text = txtjcstandardcoderemainingstock(1).Text - CInt(txtdarlingtonactual(0))
Else
   txtjcprecoderemainingstock(1).Text = txtjcprecoderemainingstock(1).Text - CInt(txtchelmsfordactual(0).Text)
End If


Dim Total As Byte
Dim i As Integer
Total = 0
For i = 0 To 6
If IsNumeric(txtchelmsfordactual(i)) Then
If txtchelmsfordactual(i) > 0 Then Total = Total + txtchelmsfordactual(i)
End If
txtactualtotal(i) = Total
txtmondaysactual(i) = Total
Next
End Sub

Private Sub txtestimatetotal_Change(Index As Integer)
txtBoxDividend.Text = Round(txtestimatetotal(0).Text) / 100 * 90
txtBoxDividends.Text = Round(txtestimatetotal(0).Text) / 100 * 30
txtBoxDividend.Text = Round(txtBoxDividend.Text)
txtBoxDividends.Text = Round(txtBoxDividends.Text)
End Sub

Private Sub txtnestonestimate_Change(Index As Integer)
txtnestonprecode(0).Text = txtnestonestimate(0)
End Sub

Many Thanks
Andy
0
 
LVL 11

Expert Comment

by:Angelp1ay
ID: 20338312
...and it works?
0
 

Author Comment

by:samandrew
ID: 20338570
Hi No I get this

And get the following meassage
The table 'Actualorders' is already opened exclusivley by another user, or it is already open through the user interface and cannot be manipulated programatically.
0
 
LVL 11

Expert Comment

by:Angelp1ay
ID: 20340306
Sorry missed that bit. Erm you mean its a bound form? If so you could just update the bound field on the form and resync (dunno the exact term for this).
0
 

Author Comment

by:samandrew
ID: 20340425
Hi
No its not a bound form I am using a tab with 7 tabs on it, on each tab I have 7 txtboxs which are populate from my database  these are populated all the time so the connection is open(I think) so I now need a method to add a record to my database.

Hope this helps anyone.
Thanks
Andy
0
 
LVL 11

Expert Comment

by:Angelp1ay
ID: 20344606
Ok, I think it's because you do this:

    Public myConnection As ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim mysql As String

i.e. you define a module level variable. Once a sub is finished running it will terminate all internal (local) variables but since this variable has module level scope it won't be freed. You will need to free the variable once you've used it in each sub e.g.

    Set myconnection = Nothing
    Set rs = Nothing

Similarly you will need to re-initialise them whenever you need to use them again. It's probably best practice not leaving connections open like this anyway (although someone more qualified should probably advise you about good and bad practices).
0
 

Author Comment

by:samandrew
ID: 20345923
Hi
Thanks for that, but im not sure how i can populate all my txtboxs (which I need to see all the time) without leaving the connection open? Have you any ideas?

Thanks
Andy
0
 
LVL 11

Expert Comment

by:Angelp1ay
ID: 20346009
You just set the text box value and then close the connection... it won't suddenly disappear.
0
 

Author Comment

by:samandrew
ID: 20346057
Ahhhhhh
I am still at work but will try this when i get home tonight, I had presumed if I closed the connection then i would lose the data in the textboxs............

Many Thanks
will let you know how i get on
Andy
0
 

Author Comment

by:samandrew
ID: 20346486
Hi
I am now using this code and nothing is happening? no errors and not saving?

Private Sub cmd_SaveData_Click()

With rs
           .LockType = 2
           .CursorType = 3
           .Open mysql, Get_My_Connection

mysql_ = "INSERT INTO ActualOrders  Values(" & _
txtvbmonday(0).Text & " ," & txtatherstoneactual(0).Text & "," & txtchelmsfordactual(0).Text & "," & txtdarlingtonactual(0).Text & "," & txtnestonestimate(0).Text & "," & txtswindonactual(0).Text & "," & txtactualtotal(0).Text & ")"

Set rs = Nothing

.Close
End With

End Sub
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 11

Assisted Solution

by:Angelp1ay
Angelp1ay earned 200 total points
ID: 20347583
Well for a start you need to declare your SQL statement before you try to run it:

    Private Sub cmd_SaveData_Click()
        mysql_ = "INSERT INTO ActualOrders  Values(" & _
                txtvbmonday(0).Text & " ," & txtatherstoneactual(0).Text & "," & txtchelmsfordactual(0).Text & "," & txtdarlingtonactual(0).Text & "," & txtnestonestimate(0).Text & "," & txtswindonactual(0).Text & "," & txtactualtotal(0).Text & ")"
       
        With rs
            .LockType = 2
            .CursorType = 3
            .Open mysql, Get_My_Connection
            .Close
        End With
       
        Set rs = Nothing
    End Sub

If you open the data connection in any subs to make changes / updates to fields you will need to make sure you open and close within the sub so that you always return to a state with no connection.
0
 
LVL 11

Expert Comment

by:Angelp1ay
ID: 20347594
You might be able to shorten your query running bit by using:

    myConnection = Get_My_Connection
    myConnection.Execute(mysql)

Or infact since your Get_My_Connection function already assigns your connection to the module level variable "myConnection" then you could just use:

    Call Get_My_Connection
    myConnection.Execute(mysql)
0
 

Author Comment

by:samandrew
ID: 20348702

Hi
I get the following error on myconnection.Execute mysql

No value given for one or more parameters

Thanks
Andy
0
 
LVL 11

Expert Comment

by:Angelp1ay
ID: 20350226
I imagine this is because you didn't include the line assigning a value to the variable "mysql". The full sub should look like this:

    Private Sub cmd_SaveData_Click()
        mysql_ = "INSERT INTO ActualOrders  Values(" & _
                txtvbmonday(0).Text & " ," & txtatherstoneactual(0).Text & "," & txtchelmsfordactual(0).Text & "," & txtdarlingtonactual(0).Text & "," & txtnestonestimate(0).Text & "," & txtswindonactual(0).Text & "," & txtactualtotal(0).Text & ")"
       
        Call Get_My_Connection
        myConnection.Execute(mysql)
    End Sub

Did you try the re-working of your code in the post above that? Does this work?
0
 

Author Comment

by:samandrew
ID: 20353204
Hi

Sorry have just tried it and get the following error message

Run-time error '2147217904(80040e10)

No value given for one or more required parameters.

When the program stops and the line

myConnection.Execute(mysql) is highlighted yellow the mysql looks ok

Thanks
Andy
0
 
LVL 44

Expert Comment

by:Arthur_Wood
ID: 20354213
try the following change:

  The MsgBox will show you the complete text of the variable, and you can then see if all of the values are what you expect them to be.

AW
Private Sub cmd_SaveData_Click()

mysql = "INSERT INTO ActualOrders  Values(" & _

                txtvbmonday(0).Text & " ," & txtatherstoneactual(0).Text & "," & txtchelmsfordactual(0).Text & "," & txtdarlingtonactual(0).Text & "," & txtnestonestimate(0).Text & "," & txtswindonactual(0).Text & "," & txtactualtotal(0).Text & ")"

        MsgBox "Mysql = " & mysql, vbokOnly

        Call Get_My_Connection

        myConnection.Execute(mysql)

    End Sub

Open in new window

0
 

Author Comment

by:samandrew
ID: 20356554
Hi Arthur

Although the message box shows all the correct values I still get the same error message.
Could this have something to do with mysql showing the date as 26-Nov-2007 and my database date been 26-Nov-07? if so how can I change one of them.

Many Thanks
Andy
0
 
LVL 11

Expert Comment

by:Angelp1ay
ID: 20361261
Suggest you try:

    Debug.Print mysql

...and then copy paste the query into a query window and run it. See if it complains. If the date is the issue, you can always insert it in numerical format with:

    date_field = CDbl(txt_date.Value)

If you get stumped, please post the value of "mysql" as printed by debug.print so we can take a look.
0
 

Author Comment

by:samandrew
ID: 20361572
Hi

How do I Debug Print mysql please

Thanks
Andy
0
 
LVL 11

Expert Comment

by:Angelp1ay
ID: 20368240
Just add this line in your code after you set the mysql variable:

    Debug.Print mysql

...and then once run go into VBE (Alt+F11) and look at the immediate window. Your fully formed sql will be there for you to copy paste.
0
 

Author Comment

by:samandrew
ID: 20368467
Hi

Got this
INSERT INTO ActualOrders  Values(25-Nov-07 ,2,3,4,5,6,20)

Which is what I thought should be there?

Thanks
Andy
0
 

Author Comment

by:samandrew
ID: 20368780
Hi

Just found the error as below
If any of the fields into which these value are to be inserted are STRING (TEXT) fields, then the value must be enclosed in '...', as
didnt have these on txtvbMonday(0).Text

Thanks for all your help will split the points as Arthurs answer was correct only I did not follow it properly, however I do appreciate you taking the time to try and help.

Andy
0
 
LVL 44

Expert Comment

by:Arthur_Wood
ID: 20370599
Glad to be of assistance.

AW
0
 
LVL 11

Expert Comment

by:Angelp1ay
ID: 20372660
Ahhh sorry I should really have spotted that. Was a little frightened by the mass of code :oP

For future reference, this is how to form the SQL for the three data types:

   INSERT INTO table (string_data, numerical_data, date_data) VALUES ('stringvalue', 1, #01/01/07#);


And with variables, VBA syntax would be:

    strSQL = "INSERT INTO table (string_data, numerical_data, date_data) VALUES ('" & mystring & "', " & myint & ", #" & mydate & "#);"
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
Introduction Since I wrote the original article about Handling Date and Time in PHP and MySQL (http://www.experts-exchange.com/articles/201/Handling-Date-and-Time-in-PHP-and-MySQL.html) several years ago, it seemed like now was a good time to updat…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now