<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Problem beim auslesen der combobox]]></title><description><![CDATA[<p>hallo ihr da draussen!<br />
folgendes problem hab ich:<br />
ich bin gerade über beim programmieren einer personalverwaltung mit access-datenbankanbindung.da hab ich einen dialog zum bearbeiten der mitarbeiter.<br />
ich wähl mir den mitarbeiter aus einer combobox aus und kann dann seine eigenschaften,die in verschiedenen text-feldern stehen,anschauen und in danebenstehenden edit-feldern die mitarbeiter-eigenschaften ändern.da klappt auch <a href="http://alles.es" rel="nofollow">alles.es</a> wird alles in die datenbank richtig übernommen,aber wenn ich dann einen anderen mitrbeiter aus der combobox auswähle,stimmen seine eigenschaften nicht <a href="http://mehr.es" rel="nofollow">mehr.es</a> werden eigenschaften eines anderen mitarbeiters angezeigt.</p>
<p>hier nun der code:</p>
<pre><code class="language-cpp">CComboBox * pPersonalNeu;				
pPersonalNeu = (CComboBox *) GetDlgItem(IDC_COMBO_MitarbeiterbearbeitenPersonalgruppe);
CComboBox * pMitarbeiter;				
pMitarbeiter = (CComboBox *) GetDlgItem(IDC_COMBO_MitarbeiterbearbeitenAuswahl);
CEdit * pPersonalnummerNeu;
pPersonalnummerNeu = (CEdit *) GetDlgItem(IDC_EDIT_MitarbeiterbearbeitenPersonalnummerneu);
CEdit * pVornameNeu;
pVornameNeu = (CEdit *) GetDlgItem(IDC_EDIT_MitarbeiterbearbeitenVornameneu);
CEdit * pNachnameNeu;
pNachnameNeu = (CEdit *) GetDlgItem(IDC_EDIT_MitarbeiterbearbeitenNachnameneu);
CEdit * pGeburtsdatumNeu;
pGeburtsdatumNeu = (CEdit *) GetDlgItem(IDC_EDIT_MitarbeiterbearbeitenGeburtsdatumneu);
CStatic * pPersonalgruppeAlt;
pPersonalgruppeAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenPersonalgruppeanzeigenalt);
CStatic * pPersonalnummerAlt;
pPersonalnummerAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenPersonalnummeranzeigenalt);
CStatic * pVornameAlt;
pVornameAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenVornameanzeigenalt);
CStatic * pNachnameAlt;
pNachnameAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenNachnameanzeigenalt);
CStatic * pGeburtsdatumAlt;
pGeburtsdatumAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenGeburtsdatumalt);

int zaehler=0;
CString select = &quot;&quot;;
CString mitarbeitername = &quot;&quot;;
select = &quot;select * FROM Mitarbeiter&quot;;
CString sODBCName = &quot;Personal&quot;;
CDatabase dbPersonal;
MitarbeiterTbl personal(&amp;dbPersonal);

CString strPersonalNeu=&quot;&quot;;
CString strPersonalnummerNeu=&quot;&quot;;
CString strVornameNeu=&quot;&quot;;
CString strNachnameNeu=&quot;&quot;;
CString strGeburtsdatumNeu=&quot;&quot;;
CString strName=&quot;&quot;;

pPersonalNeu-&gt;GetLBText(pPersonalNeu-&gt;GetCurSel(),strPersonalNeu);
pPersonalnummerNeu-&gt;GetWindowText(strPersonalnummerNeu);
pVornameNeu-&gt;GetWindowText(strVornameNeu);
pNachnameNeu-&gt;GetWindowText(strNachnameNeu);
pGeburtsdatumNeu-&gt;GetWindowText(strGeburtsdatumNeu);

dbPersonal.Open(sODBCName);
if(dbPersonal.IsOpen())
{
	personal.Open(CRecordset::snapshot,select);
	if(personal.IsBOF())
	{			
	}
	else
	{
		while(!personal.IsEOF())
		{
			personal.MoveFirst();
			for(int i=0;i&lt;pMitarbeiter-&gt;GetCurSel();i++)personal.MoveNext();
			pMitarbeiter-&gt;DeleteString(pMitarbeiter-&gt;GetCurSel());
			personal.Edit();
			personal.m_Personalgruppe=strPersonalNeu;
			personal.m_Personalnummer=&quot;PN-&quot; + strPersonalnummerNeu;
			strName = strVornameNeu + &quot; &quot; + strNachnameNeu;
			personal.m_Vorname=strVornameNeu;
			personal.m_Nachname=strNachnameNeu;
			personal.m_Geburtsdatum=strGeburtsdatumNeu;
			pPersonalgruppeAlt-&gt;SetWindowText(personal.m_Personalgruppe);
			pPersonalnummerAlt-&gt;SetWindowText(personal.m_Personalnummer);
			pVornameAlt-&gt;SetWindowText(personal.m_Vorname);
			pNachnameAlt-&gt;SetWindowText(personal.m_Nachname);
			pGeburtsdatumAlt-&gt;SetWindowText(personal.m_Geburtsdatum);
			pMitarbeiter-&gt;SetCurSel(pMitarbeiter-&gt;InsertString(-1,strName));
			personal.Update();
			break;
			zaehler++;
		}
	}
}
dbPersonal.Close();
pPersonalNeu-&gt;SetCurSel(-1);			//leeren text in combobox einfuegen
pPersonalnummerNeu-&gt;SetWindowText(&quot;&quot;);	//leeren text einfuegen
pVornameNeu-&gt;SetWindowText(&quot;&quot;);		//leeren text einfuegen
pNachnameNeu-&gt;SetWindowText(&quot;&quot;);		//leeren text einfuegen
pGeburtsdatumNeu-&gt;SetWindowText(&quot;&quot;);	//leeren text einfuegen
</code></pre>
<p>ich hoffe mal,ihr könnt mir helfen<br />
mfg<br />
fevernova</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/60738/problem-beim-auslesen-der-combobox</link><generator>RSS for Node</generator><lastBuildDate>Wed, 03 Jun 2026 11:43:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/60738.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Jan 2004 12:47:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim auslesen der combobox on Thu, 08 Jan 2004 12:47:58 GMT]]></title><description><![CDATA[<p>hallo ihr da draussen!<br />
folgendes problem hab ich:<br />
ich bin gerade über beim programmieren einer personalverwaltung mit access-datenbankanbindung.da hab ich einen dialog zum bearbeiten der mitarbeiter.<br />
ich wähl mir den mitarbeiter aus einer combobox aus und kann dann seine eigenschaften,die in verschiedenen text-feldern stehen,anschauen und in danebenstehenden edit-feldern die mitarbeiter-eigenschaften ändern.da klappt auch <a href="http://alles.es" rel="nofollow">alles.es</a> wird alles in die datenbank richtig übernommen,aber wenn ich dann einen anderen mitrbeiter aus der combobox auswähle,stimmen seine eigenschaften nicht <a href="http://mehr.es" rel="nofollow">mehr.es</a> werden eigenschaften eines anderen mitarbeiters angezeigt.</p>
<p>hier nun der code:</p>
<pre><code class="language-cpp">CComboBox * pPersonalNeu;				
pPersonalNeu = (CComboBox *) GetDlgItem(IDC_COMBO_MitarbeiterbearbeitenPersonalgruppe);
CComboBox * pMitarbeiter;				
pMitarbeiter = (CComboBox *) GetDlgItem(IDC_COMBO_MitarbeiterbearbeitenAuswahl);
CEdit * pPersonalnummerNeu;
pPersonalnummerNeu = (CEdit *) GetDlgItem(IDC_EDIT_MitarbeiterbearbeitenPersonalnummerneu);
CEdit * pVornameNeu;
pVornameNeu = (CEdit *) GetDlgItem(IDC_EDIT_MitarbeiterbearbeitenVornameneu);
CEdit * pNachnameNeu;
pNachnameNeu = (CEdit *) GetDlgItem(IDC_EDIT_MitarbeiterbearbeitenNachnameneu);
CEdit * pGeburtsdatumNeu;
pGeburtsdatumNeu = (CEdit *) GetDlgItem(IDC_EDIT_MitarbeiterbearbeitenGeburtsdatumneu);
CStatic * pPersonalgruppeAlt;
pPersonalgruppeAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenPersonalgruppeanzeigenalt);
CStatic * pPersonalnummerAlt;
pPersonalnummerAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenPersonalnummeranzeigenalt);
CStatic * pVornameAlt;
pVornameAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenVornameanzeigenalt);
CStatic * pNachnameAlt;
pNachnameAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenNachnameanzeigenalt);
CStatic * pGeburtsdatumAlt;
pGeburtsdatumAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenGeburtsdatumalt);

int zaehler=0;
CString select = &quot;&quot;;
CString mitarbeitername = &quot;&quot;;
select = &quot;select * FROM Mitarbeiter&quot;;
CString sODBCName = &quot;Personal&quot;;
CDatabase dbPersonal;
MitarbeiterTbl personal(&amp;dbPersonal);

CString strPersonalNeu=&quot;&quot;;
CString strPersonalnummerNeu=&quot;&quot;;
CString strVornameNeu=&quot;&quot;;
CString strNachnameNeu=&quot;&quot;;
CString strGeburtsdatumNeu=&quot;&quot;;
CString strName=&quot;&quot;;

pPersonalNeu-&gt;GetLBText(pPersonalNeu-&gt;GetCurSel(),strPersonalNeu);
pPersonalnummerNeu-&gt;GetWindowText(strPersonalnummerNeu);
pVornameNeu-&gt;GetWindowText(strVornameNeu);
pNachnameNeu-&gt;GetWindowText(strNachnameNeu);
pGeburtsdatumNeu-&gt;GetWindowText(strGeburtsdatumNeu);

dbPersonal.Open(sODBCName);
if(dbPersonal.IsOpen())
{
	personal.Open(CRecordset::snapshot,select);
	if(personal.IsBOF())
	{			
	}
	else
	{
		while(!personal.IsEOF())
		{
			personal.MoveFirst();
			for(int i=0;i&lt;pMitarbeiter-&gt;GetCurSel();i++)personal.MoveNext();
			pMitarbeiter-&gt;DeleteString(pMitarbeiter-&gt;GetCurSel());
			personal.Edit();
			personal.m_Personalgruppe=strPersonalNeu;
			personal.m_Personalnummer=&quot;PN-&quot; + strPersonalnummerNeu;
			strName = strVornameNeu + &quot; &quot; + strNachnameNeu;
			personal.m_Vorname=strVornameNeu;
			personal.m_Nachname=strNachnameNeu;
			personal.m_Geburtsdatum=strGeburtsdatumNeu;
			pPersonalgruppeAlt-&gt;SetWindowText(personal.m_Personalgruppe);
			pPersonalnummerAlt-&gt;SetWindowText(personal.m_Personalnummer);
			pVornameAlt-&gt;SetWindowText(personal.m_Vorname);
			pNachnameAlt-&gt;SetWindowText(personal.m_Nachname);
			pGeburtsdatumAlt-&gt;SetWindowText(personal.m_Geburtsdatum);
			pMitarbeiter-&gt;SetCurSel(pMitarbeiter-&gt;InsertString(-1,strName));
			personal.Update();
			break;
			zaehler++;
		}
	}
}
dbPersonal.Close();
pPersonalNeu-&gt;SetCurSel(-1);			//leeren text in combobox einfuegen
pPersonalnummerNeu-&gt;SetWindowText(&quot;&quot;);	//leeren text einfuegen
pVornameNeu-&gt;SetWindowText(&quot;&quot;);		//leeren text einfuegen
pNachnameNeu-&gt;SetWindowText(&quot;&quot;);		//leeren text einfuegen
pGeburtsdatumNeu-&gt;SetWindowText(&quot;&quot;);	//leeren text einfuegen
</code></pre>
<p>ich hoffe mal,ihr könnt mir helfen<br />
mfg<br />
fevernova</p>
]]></description><link>https://www.c-plusplus.net/forum/post/431536</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/431536</guid><dc:creator><![CDATA[fevernova]]></dc:creator><pubDate>Thu, 08 Jan 2004 12:47:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim auslesen der combobox on Thu, 08 Jan 2004 13:03:14 GMT]]></title><description><![CDATA[<p>Wo ich da gerade diese elendig langen IDC_... sehe:<br />
Gibt es für die nicht eine Maximallänge? Lag die nicht irgendwo bei 30 Zeichen? Korrigiert mich, wenn ich falsch liege! Fällt nur echt auf.</p>
<p>So, jetzt zu deinem Problem:<br />
Könnte es sein, dass du bei der Auswertung des Indexes einen Fehler machst? Dein Quellcode zeigt soweit keinen für mich ersichtlichen Fehler, aber ich frage mich: Du sagst, dass der Fehler auftritt, wenn du einen anderen Eintrag aus der Combobox wählst, zeigst aber den Code fürs laden. Der andere Code wäre vielleicht auch noch hilfreich (OnSelchage...).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/431553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/431553</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Thu, 08 Jan 2004 13:03:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim auslesen der combobox on Thu, 08 Jan 2004 13:13:37 GMT]]></title><description><![CDATA[<p>hast ja recht,so krieg ichs aber am besten gebacken.</p>
<p>hier die OnSelchange - funktion:</p>
<pre><code class="language-cpp">CComboBox * pMitarbeiterAuswahl;				
pMitarbeiterAuswahl = (CComboBox *) GetDlgItem(IDC_COMBO_MitarbeiterbearbeitenAuswahl);
CStatic * pPersonalgruppeAlt;
pPersonalgruppeAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenPersonalgruppeanzeigenalt);
CStatic * pPersonalnummerAlt;
pPersonalnummerAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenPersonalnummeranzeigenalt);
CStatic * pVornameAlt;
pVornameAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenVornameanzeigenalt);
CStatic * pNachnameAlt;
pNachnameAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenNachnameanzeigenalt);
CStatic * pGeburtsdatumAlt;
pGeburtsdatumAlt = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterbearbeitenMitarbeiterdatenGeburtsdatumalt);

int stelle=0;
CString select = &quot;&quot;;
select = &quot;select * FROM Mitarbeiter&quot;;
CString sODBCName = &quot;Personal&quot;;
CDatabase dbPersonal;
MitarbeiterTbl mitarbeiter(&amp;dbPersonal);
dbPersonal.Open(sODBCName);
if(dbPersonal.IsOpen())
{
	mitarbeiter.Open(CRecordset::snapshot,select);
	if(mitarbeiter.IsBOF())
	{
	}
	else
	{
		while(!mitarbeiter.IsEOF())
		{
			for(int i=0;i&lt;pMitarbeiterAuswahl-&gt;GetCurSel();i++)mitarbeiter.MoveNext();
			pPersonalgruppeAlt-&gt;SetWindowText(mitarbeiter.m_Personalgruppe);
			pPersonalnummerAlt-&gt;SetWindowText(mitarbeiter.m_Personalnummer);
			pVornameAlt-&gt;SetWindowText(mitarbeiter.m_Vorname);
			pNachnameAlt-&gt;SetWindowText(mitarbeiter.m_Nachname);
			pGeburtsdatumAlt-&gt;SetWindowText(mitarbeiter.m_Geburtsdatum);
			stelle++;
			break;
		}
	}
}
dbPersonal.Close();
</code></pre>
<p>ich denk mal das reicht.<br />
mfg<br />
fevernova</p>
]]></description><link>https://www.c-plusplus.net/forum/post/431561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/431561</guid><dc:creator><![CDATA[fevernova]]></dc:creator><pubDate>Thu, 08 Jan 2004 13:13:37 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim auslesen der combobox on Thu, 08 Jan 2004 13:20:54 GMT]]></title><description><![CDATA[<p>Hmm, also ich werd noch ein paar mal über den Text lesen, aber was mir nicht aus dem Kopf geht:</p>
<p>Könnte es sein, dass deine Combobox sortiert wird? Dann würde ich nämlich verstehen, warum der falsche Mitarbeiter gefunden wird.</p>
<p>Achja, du hast geschrieben, dass das Problem erst auftritt, nachdem du einen Mitarbeiter geändert hast. Könnte es sein, dass dort etwas durcheinander kommt? Oder lädst du danach neu?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/431566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/431566</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Thu, 08 Jan 2004 13:20:54 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim auslesen der combobox on Thu, 08 Jan 2004 13:32:48 GMT]]></title><description><![CDATA[<p>also sortiert wird die nicht.ich denk mal ich lese dann das falsche aus der datenbank.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/431574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/431574</guid><dc:creator><![CDATA[fevernova]]></dc:creator><pubDate>Thu, 08 Jan 2004 13:32:48 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim auslesen der combobox on Thu, 08 Jan 2004 13:41:21 GMT]]></title><description><![CDATA[<p>Hallo,<br />
also ich empfehle Dir dringend das mit der ComboBox anders zu machen. Bei Dir ist z.Z. alles indexbasiert. Das hatte ich auch mal so. Und dann lässt man die ComboBox einmal sortieren und nichts geht mehr. Schau Dir mal die CCombobox-Methoden SetItemDataPtr und GetItemDataPtr an und wenn das nicht reicht ist hier <a href="http://www.codeproject.com/combobox/combobox_tut.asp" rel="nofollow">http://www.codeproject.com/combobox/combobox_tut.asp</a> auch noch was schönes. Dann sind die Daten nämlich unabhängig vom Index. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/431583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/431583</guid><dc:creator><![CDATA[Cosmixx]]></dc:creator><pubDate>Thu, 08 Jan 2004 13:41:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim auslesen der combobox on Thu, 08 Jan 2004 13:45:57 GMT]]></title><description><![CDATA[<p>Du liest beide mal das selbe aus der DB. Ich glaube nicht dass es daran liegt.</p>
<p>Folge dem Ratschlag von Cosmixx.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/431586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/431586</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Thu, 08 Jan 2004 13:45:57 GMT</pubDate></item></channel></rss>