[gelöst] CrmSdk VB.Net

1. April 2010 08:00

Hallo zusammen,

ich mache gerade ein kleines VB Tool und frage die Entität Account ab.
Mache ich es nur über Feld "name" so funktioniert es wunderbar.
Versuche ich aber zwei Felder zu verbinden bzw. nach "name" und "new_parentagentid" zu suchen, bekomme ich einen Fehler.

Jmd eine Idee? Es würde mir auch reichen, wenn ich sehe wie es mit XML Soap geht. Dann kann ich das evtl. Umbauen.
Wichtig ist eben, dass ich nach zwei Übereinstimmungen suche, name und new_parentagentid (guid).

Danke


Code:
Private Sub Search()
        Dim cols As New ColumnSet()
        cols.Attributes = New String() {"name", "accountid", "accountnumber"}

        Dim condition As ConditionExpression = New ConditionExpression()
        condition.AttributeName = "name"
        condition.Operator = ConditionOperator.[Like]
        condition.Values = New Object() {tbSuche.Text & "%"}


        Dim condition2 As ConditionExpression = New ConditionExpression()
        condition2.AttributeName = "new_parentagentid"
        condition2.Operator = ConditionOperator.[Like]
        condition2.Values = New Object() {vertreterId = New Guid("{" + vertreterString + "}")}

        Dim filter As New FilterExpression()
        filter.FilterOperator = LogicalOperator.And
        filter.Conditions = New ConditionExpression() {condition, condition2}

        Dim query As New QueryExpression()
        query.EntityName = EntityName.account.ToString()
        query.ColumnSet = cols
        query.Criteria = filter

        ListView.Items.Clear()
        Dim account As BusinessEntityCollection = service.RetrieveMultiple(query)
        Dim int As Integer = 0
        For Each be As BusinessEntity In account.BusinessEntities
            Dim ppl As account = CType(be, account)
            ListView.Items.Add(ppl.name)
            ListView.Items(int).SubItems.Add(ppl.accountnumber)
            ListView.Items(int).SubItems.Add(ppl.accountid.Value.ToString)
            int = int + 1
        Next
        int = 0
    End Sub
Zuletzt geändert von tw-elektric am 1. April 2010 09:27, insgesamt 1-mal geändert.

Re: CrmSdk VB.Net

1. April 2010 08:53

Okay, ich habe es nun mit einem anderen Wert anstatt der GUID (new_parentagetnid) versucht.
hier geht es.

Es muss am Format der ID liegen.

Wie mache ich aus einem String (s2233ds-234sd234sd-sd34sd) das richtige Format, so dass die Abfrage funktioniet?

Bein letzter Versuch war so:

Code:
Dim id As Guid = New Guid(vertreterString)
Dim accountLookup = New Lookup
accountLookup.Value = id
 condition2.Values = New Object() {accountLookup}


Leider ohne Erfolg

Re: CrmSdk VB.Net

1. April 2010 09:04

Hallo,

mit VB kenne ich mich zwar nicht merh so gut aus, in c# mache ich das einfach so:
new Guid(sProductNumberId);